谁知道java如何释放dll的写法

cjbedu2012 2017-07-05 09:30:09
tomcat服务启动后,通过 jna 调用dll后,如何释放已调用DLL;代码中如何写?
...全文
497 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2020-09-23
  • 打赏
  • 举报
回复
这种问题自己查一下官方文档 https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/invocation.html#JNI_OnUnload 摘自官方文档 The VM calls JNI_OnUnload when the class loader containing the native library is garbage collected. 也就是说不用你手动释放,当加载dll的类的类加载器被垃圾回收时就会自动释放。 所以,想手动释放,那就自己释放类加载器 参考以下链接的例子 https://web.archive.org/web/20140704120535/http://www.codethesis.com/blog/unload-java-jni-dll
KeepSayingNo 2020-09-23
  • 打赏
  • 举报
回复
NativeLibrary instance = NativeLibrary.getInstance(StaticConstant.EDI_MIDDLEWARE_DLL); instance.getFunction("initial_DM").invoke(new Object[]{}); instance.getFunction("gen_edi2carrier").invokeDouble(new Object[]{java,jobD}); instance.dispose();
mingli1214 2020-09-23
  • 打赏
  • 举报
回复
我也遇到一样的问题,似乎没有看的JNA 有直接释放的API
cjbedu2012 2017-07-06
  • 打赏
  • 举报
回复
如今大神都不逛CSDN了么
1. 有直接用框架的:Ajaxpro和Ajax,这两种我用过了,觉得不错 2. 还有一种就是用微软专门为Ajax开发的控件包,叫作ASP.NET AJAX Control Toolkit,这个我没太研究,网上有相关资料,想知道的可以自己去查,里面有很多现成的控件可以实现AJAX。 以上三种是我收集到的一些AJAX的实现方法,我要讲的是第一种方法的应用,因为第一种能叫你明白AJAX的运行原理,比较适合初学者。 我主要讲Ajaxpro,这是个组件,必须去网上下载,其实就是一个Ajaxpro.dll文件,注意,网上有两种一种叫Ajax.dll一种叫 Ajaxpro.dll,这两种功能上是一样的,就是添加引用的语句有些不同,下面我会分别说的。其实用AJAX都要下相关组件的,开始我也不习惯下什么插件,可后来还是下了,不下不行呀。我下到的是Ajax.dll,所以讲时以Ajax.dll为准。 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 更多免费资源 http://download.csdn.net/user/cleopard 应用篇,这以下的东西会借鉴网上其他人的文章,在这里声明一下 1.先把Ajax.dll添加引用到项目中,别告诉我不会,如果连这个也不会就太那个了,和添加其他DLL一样,在项目上右击,菜单上有个[添加引用],然后一步一步把那个.DLL文件添加进来,之后你会在项目的引用中看到那个Ajax.dll就是添加成功了 2.修改Web.config。在 元素中添加以下代码。这里的Ajax.dll和Ajaxpro.dll引用方法是不一样的,一定要注意 如果是IIS7,则需要在里加上 3对AjaxPro用到的页Page_Load事件中进行运行时注册。如: protected void Page_Load(object sender, EventArgs e) { Ajax.Utility.RegisterTypeForAjax(typeof(_Default));//是Ajax.dll的 AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));//Ajaxpro.dll的 } //这的_Default是指页面类的类名,就是这个页面的名字。如是放在命名空间,则需要写上完整的命名空间(如:namespaces._Default) 4. 创建服务器端方法 [Ajax.AjaxMeth

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧