我用JNI调用C写的一个DLL,当java程序System.loadLibrary后怎么unload这个库呢???因为我的DLL里面有些内存资源需要释放,而java程序退 难道没人知道吗?就是System.LoadLibrary方法的反动作啊。装载后怎么卸载的问题啊,难道没人会吗??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能在Java里面释放,还是最好通过JNI接口调用C的内存释放函数,在程序中加上这样一句Runtime.getRuntime().addShutdownHook( new Thread() { public void run() { //退出代码 } }) 支持: wzpbobsir(傻蛋) 的意见。1.状态位放在DLL中,当要结束程序释放内存时,调用dll接口进行内存释放。这时,java程序应该等待DLL的状态位以决定是否要能退出结束程序。2.状态位放在java程序中,C/C++中的dll也可以调用java。即然这样,就可以作如下操作: java-->调用dll进行释放内存-->java等待dll的"通知"(等待)............... -->结束 dll释放内存-->释放内存结束-->调用java接口理发状态位 给点建设性的意见 谢谢了 反编译问题。(有挑战性呀,送200分,分2次给分)------第二贴 java怎么看指针地址 打包发布并jar 我是新人,请问import org.apache.commons.logging.Log;是从那里来的,帮我找到了就给分 急问JAVA中对小数取整的函数? java中如何获得某一变量的类型,如int ,long ,double 型,万分感谢! 一个怪问题。 数据库中文不能显示的问题 Java新手求教 关于 System.out.println("system out") 数据库连接(菜鸟问题) 两个类互相调用,怎么编译阿
(
new Thread()
{
public void run()
{
//退出代码
}
}
)
java-->调用dll进行释放内存-->java等待dll的"通知"(等待)............... -->结束
dll释放内存-->释放内存结束-->调用java接口理发状态位