精易论坛

标题: JAVA基于JNI JSCM第三方类库【重大更新!】 [打印本页]

作者: 失败D宏    时间: 2022-3-14 09:12
标题: JAVA基于JNI JSCM第三方类库【重大更新!】
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22Jscm%20%E7%AC%AC%E4%B8%89%E5%8F%91%E6%8F%92%E4%BB%B6%E5%BA%93%E3%80%90%E7%AC%AC%E5%9B%9B%E6%AC%A1%E9%87%8D%E6%9E%84%E7%89%88%E3%80%91%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%2280%22%20width%3D%22260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%223%22%20value%3D%22%E5%BA%95%E5%B1%82%E7%81%AB%E5%B1%B1PC%2BJNI%E4%BA%A4%E4%BA%92%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%22220%22%20width%3D%22260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%224%22%20value%3D%22%E5%BC%80%E5%8F%91%E8%80%85%EF%BC%9A%E9%B2%A4%E5%9F%8E%E5%8C%BA%E8%9C%97%E7%89%9B%E7%8C%AB%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%22150%22%20width%3D%22260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%225%22%20value%3D%22SnailcatMall.com%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%2210%22%20width%3D%22260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%226%22%20value%3D%22%E5%BA%95%E5%B1%82%E7%81%AB%E5%B1%B1PC%2BJNI%E4%BA%A4%E4%BA%92%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22260%22%20y%3D%22290%22%20width%3D%22260%22%20height%3D%2260%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%227%22%20value%3D%22%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8%26lt%3Bbr%26gt%3B%26lt%3Bbr%26gt%3B%E5%86%85%E5%AD%98%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E6%B3%A8%E5%86%8C%E8%A1%A8%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3BINI%E9%85%8D%E7%BD%AE%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E8%BF%9B%E7%A8%8B%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E7%BA%BF%E7%A8%8B%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E9%A9%B1%E5%8A%A8%E9%94%AE%E9%BC%A0%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E7%AA%97%E5%8F%A3%E5%8F%A5%E6%9F%84%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E7%B3%BB%E7%BB%9F%E6%9D%82%E9%A1%B9%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E5%AD%97%E8%8A%82%E8%BD%AC%E6%8D%A2%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E9%A3%9E%E6%98%93%E6%9D%A5%E9%94%AE%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E5%B9%BD%E7%81%B5%E9%94%AE%E9%BC%A0%E6%93%8D%E4%BD%9C%26lt%3Bbr%26gt%3B%E7%82%AB%E5%BD%A9%E7%95%8C%E9%9D%A2%E5%BA%93%E6%93%8D%E4%BD%9C%E3%80%90%E5%BE%85%E5%BC%80%E5%8F%91%E3%80%91%26lt%3Bbr%26gt%3B%E9%94%90%E6%B5%AA%E6%8A%A5%E8%A1%A8%E6%93%8D%E4%BD%9C%E3%80%90%E5%BE%85%E5%BC%80%E5%8F%91%E3%80%91%26lt%3Bbr%26gt%3Bminiblink%E6%93%8D%E4%BD%9C%E3%80%90%E5%BE%85%E5%BC%80%E5%8F%91%E3%80%91%26lt%3Bbr%26gt%3B%E9%A9%B1%E5%8A%A8%E5%8A%A0%E8%BD%BD%E6%93%8D%E4%BD%9C%E3%80%90%E5%BE%85%E5%BC%80%E5%8F%91%E3%80%91%26lt%3Bbr%26gt%3B%E5%85%A8%E7%A8%8BJNI%E5%85%AC%E5%BC%80%E5%BA%93%EF%BC%8C%E6%94%AF%E6%8C%81%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8A%9F%E8%83%BD%26lt%3Bbr%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22130%22%20y%3D%22370%22%20width%3D%22260%22%20height%3D%22310%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3CmxCell%20id%3D%228%22%20value%3D%22%E6%88%91%E7%9A%84%E8%A6%81%E6%B1%82%E6%98%AF%E5%88%9B%E9%80%A0%E5%9F%BA%E4%BA%8EJNI%E5%85%AC%E5%BC%80%E5%BA%93%26lt%3Bbr%26gt%3B%E5%AE%9E%E7%8E%B0%E5%85%A8%E5%91%98%E5%BA%94%E7%94%A8%E4%BE%BF%E6%8D%B7%26lt%3Bbr%26gt%3B%E5%90%8E%E6%9C%9F%E5%B0%86%E9%99%86%E7%BB%AD%E5%AE%8C%E5%96%84windows%20API%E7%B3%BB%E5%88%97%E5%BA%93%E9%87%8D%E6%9E%84%26lt%3Bbr%26gt%3B%E6%96%B9%E4%BE%BF%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E8%AE%BE%E8%AE%A1%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22410%22%20y%3D%22370%22%20width%3D%22260%22%20height%3D%22310%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E
链接:https://pan.baidu.com/s/14sYBhrGrKQkDbdR0bqklCg
提取码:4hov
--来自百度网盘超级会员V5的分享


内置开发文档  和demo进行设计

作者: 失败D宏    时间: 2022-3-14 09:16
早期是基于JNA开发,现在全程采用底层重构!效率上面大大提升,也非常可控!
作者: 晴天大佬    时间: 2022-3-14 11:07

作者: 失败D宏    时间: 2022-3-14 11:12
晴天大佬 发表于 2022-3-14 11:07

项目还要维护,有个地方写错了,等待下一个版本更新
作者: quary888    时间: 2022-3-14 12:37
谢谢楼主分享!!! 好人一生平安!!!
作者: xjshuaishuai    时间: 2022-3-14 13:30
谢谢分享!
作者: xtavoxing    时间: 2022-3-14 14:16
好厉害 .好棒.好强大.
作者: 胜屿    时间: 2022-3-14 14:26

作者: 者徒    时间: 2022-3-15 01:01
感谢分享,
作者: 大师兄是反派    时间: 2022-3-15 02:39
感谢分享,很给力!~
作者: w995149920    时间: 2022-3-15 11:33
顶。学习一下
作者: By未命名    时间: 2022-3-15 13:54
一脸懵逼进来,一脸懵逼出去
作者: 禁回忆    时间: 2022-3-18 08:28
额,想法很好,问题是,同样是做外G,用C\C++\C#他不香么?
或者直接用火山不行?
为啥还要走JNI?java本身是很强大的没什么错,但是他并不适合做桌面程序。
你指望打包给用户用的时候,还要求用户装jre?
。。。
作者: yxj123    时间: 2022-3-20 19:28
顶,学习一下
作者: yxj123    时间: 2022-3-22 21:26
顶,学习一下
作者: 承易    时间: 2022-4-24 11:37
不明觉历
作者: ghost12    时间: 2022-5-31 11:00
很好很强悍,坚持下去哦~
作者: 斩月Aphack    时间: 2022-5-31 11:09
很强大  希望楼主坚持
作者: Ezra    时间: 2022-12-10 11:04
禁回忆 发表于 2022-3-18 08:28
额,想法很好,问题是,同样是做外G,用C\C++\C#他不香么?
或者直接用火山不行?
为啥还要走JNI?java本身 ...

java应用自带一个环境很难么
作者: Ezra    时间: 2022-12-10 11:05
禁回忆 发表于 2022-3-18 08:28
额,想法很好,问题是,同样是做外G,用C\C++\C#他不香么?
或者直接用火山不行?
为啥还要走JNI?java本身 ...

都说想法好了,为什么还问出这种沙雕问题,标题都写得明明白白了
作者: 禁回忆    时间: 2022-12-12 11:26
Ezra 发表于 2022-12-10 11:05
都说想法好了,为什么还问出这种沙雕问题,标题都写得明明白白了

我的观点是Java用JNI去做内存操作完全是得不偿失,java本身就不适合做桌面程序,JNI更是出了名的效率低。说想法好是因为我估计楼主是想让做java的可以方便的去操作内存,因为java本身因为内存安全问题不允许你去直接操作内存,不管是自己的还是外部的。
专业的事情就要交给专业的工具去做,java擅长的并不是这些,这些工作直接用C/C++甚至C#去写都会有更高的效率,开发效率也不低。
这操作就好像是吃面条不用筷子,非得用牙签戳着吃一样。
JNI本身的意义在于有些功能需要调用C/C++的底层实现,在最初jvm优化不怎么样的时候,通过解释器JVM虚拟机去解释执行,使用JNI去调用高效率的C/C++程序。后来又先后扩充了模板解释器,加入了JIT即时编译,JVM的解释执行效率有很大的提升,现在jvm的运行效率在众语言中都算很靠前的,甚至比GO的效率都高。
借用别人的一句话:JVM自身的性能越高,通过JNI调用外部函数的开销(相对于执行纯Java代码)就会越大
现在用到jni的场景仅仅只剩下做Android开发时调用Native部分、历史遗留的C/C++代码。
作者: 禁回忆    时间: 2022-12-12 11:30
Ezra 发表于 2022-12-10 11:04
java应用自带一个环境很难么

做应用主要是给用户去使用的,如果自己使用,有CE等等一系列高效率的现成的软件,不需要再重复造轮子,如果是给用户使用,在绝大部分用户都是windows用户的情况下,你可以参考我的世界/我的世界启动器hmcl,相比可以直接运行的exe,你会选择还需要下载jre,需要配置运行环境的java程序?
对于开发来说,配个jre轻轻松松,对于用户呢?
作者: Ezra    时间: 2023-1-25 21:27
禁回忆 发表于 2022-12-12 11:30
做应用主要是给用户去使用的,如果自己使用,有CE等等一系列高效率的现成的软件,不需要再重复造轮子,如 ...

不考虑效率的情况下,我认为也不是很麻烦,给java程序包含一个jre的运行环境或许你没了解过
作者: 禁回忆    时间: 2023-1-27 18:55
Ezra 发表于 2023-1-25 21:27
不考虑效率的情况下,我认为也不是很麻烦,给java程序包含一个jre的运行环境或许你没了解过 ...

了解过是了解过,不过那就真没什么必要了,那样体积上就和electron没什么区别了,甚至比他还大,开发效率java和js现在不相伯仲,界面UI上java远远不如前端三件套,如果说引用javafx的话,就有回到了还不如用electron的情况了




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4