初次使用JNI做项目

howesen 2010-02-06 11:11:28
初次使用JNI做JAVA的正规项目,在经历了两个星期的痛苦之后,先后遇到了几十类问题,今天终于都解决了。
主要有几下问题:
1、C++的组件封装问题;对于未知源码,只知接口的DLL进行调用,需要自己写一个C++的程序来调用。
2、第三方平台非常复杂,由于是基于C++写的,可能存在内存泄漏的问题,怎么找出来?
3、怎么测试自己写的C++程序与JAVA互调没有问题?
4、这些DLL和相关资源文件在JAVA项目实际布署中怎么放置?我使用的第三方平台可达100M,含加密狗;系统结构比较复杂;
5、多线程情况下第三方组件的承压能力、自己写的C++承压能力以及JAVA的承压能力测试。
6、优化JVM,通过调整JVM的参数调优;此间遇到了C++里使用栈过深(约使用到近1M),导至启动不了的问题,后给JVM添加-Xss400k,才启动。
7、自己封装的C++里面怎么处理JAVA传入的字符?哪些内存是java需要释放的,哪些是C++需要释放的。
8、JAVA类型与C++类型互换的问题,以及合理地设置缓存字段来处理大量的findClass等C++操作JVM的情况。
9、由于我不会C++,才开发了这么久。回过头来看看,两个工作日也许就能完成,这也是一教训。
...全文
196 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jianhaozh 2011-12-07
  • 打赏
  • 举报
回复
我也在学JNI,做项目要用啊。。。。
txzsp 2011-11-11
  • 打赏
  • 举报
回复
给LZ推荐一个JNI的使用,有源码和大量注释,LZ一定要试下:
http://download.csdn.net/detail/txzsp/2285294
zfq642773391 2010-05-18
  • 打赏
  • 举报
回复
学习当中
lizhongyi188 2010-05-18
  • 打赏
  • 举报
回复
正想学习中,没遇到过这样的项目!
jiashoudong1120 2010-05-18
  • 打赏
  • 举报
回复
能不能把你的用JNI做的项目给我 看看 作个参考啊 老兄我也正在发愁呢!!!
宁静-夏天 2010-05-18
  • 打赏
  • 举报
回复
COM组件 有操作系统的局限

一般都是通过corba 或者 webservice 来玩。

corba比webservice要灵活点,就是玩起来不方便。

楼主的你这些问题已经不是很容易回答了。毕竟你已经钻进去了,很多知道的人也只是随便玩了下。不一样啊。
Defonds 版主 2010-02-09
  • 打赏
  • 举报
回复
引用楼主 howesen 的回复:
初次使用JNI做JAVA的正规项目,在经历了两个星期的痛苦之后,先后遇到了几十类问题,今天终于都解决了。
主要有几下问题:
1、C++的组件封装问题;对于未知源码,只知接口的DLL进行调用,需要自己写一个C++的程序来调用。
2、第三方平台非常复杂,由于是基于C++写的,可能存在内存泄漏的问题,怎么找出来?
3、怎么测试自己写的C++程序与JAVA互调没有问题?
4、这些DLL和相关资源文件在JAVA项目实际布署中怎么放置?我使用的第三方平台可达100M,含加密狗;系统结构比较复杂;
5、多线程情况下第三方组件的承压能力、自己写的C++承压能力以及JAVA的承压能力测试。
6、优化JVM,通过调整JVM的参数调优;此间遇到了C++里使用栈过深(约使用到近1M),导至启动不了的问题,后给JVM添加-Xss400k,才启动。
7、自己封装的C++里面怎么处理JAVA传入的字符?哪些内存是java需要释放的,哪些是C++需要释放的。
8、JAVA类型与C++类型互换的问题,以及合理地设置缓存字段来处理大量的findClass等C++操作JVM的情况。
9、由于我不会C++,才开发了这么久。回过头来看看,两个工作日也许就能完成,这也是一教训。
多谢共享。C++ 与 Java 混合编程
tangwei070 2010-02-08
  • 打赏
  • 举报
回复
Nx
yueguangkai001 2010-02-08
  • 打赏
  • 举报
回复
只有顶了,我也要搞JNI拉
focusforce 2010-02-08
  • 打赏
  • 举报
回复
曾经有一个IBM Rational工具叫做dtjcb(Development Tool for Java-COM Bridge),可以搭建JAVA和COM组件的桥梁,实现互调,使用前绑定,比后绑定效率高。它以eclipse的插件形式开放的,不过貌似现在不更新了。
看了下你碰到的问题,感觉第三方产品的问题多了点,这样子太费精力啊,还是搞个性能好点的吧。
nicai00 2010-02-08
  • 打赏
  • 举报
回复
引用 2 楼 bleibo 的回复:
那就顶吧


头像不错啊
Bleibo 2010-02-06
  • 打赏
  • 举报
回复
那就顶吧
sotom 2010-02-06
  • 打赏
  • 举报
回复
好多,看着晕。
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2010-02-06 11:11
社区公告
暂无公告