程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JACOB无法正确释放对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决JACOB无法正确释放对象?

开发过程中遇到JACOB无法正确释放对象的问题如何解决?下面主要结合日常开发的经验,给出你关于JACOB无法正确释放对象的解决方法建议,希望对你解决JACOB无法正确释放对象有所启发或帮助;

TD2JIRA转换器也有同样的问题。最终必须修补Jacob文件之一才能释放对象。之后,一切顺利。

我的客户端logout()方法中的代码现在如下所示:

try {
  Class rot = ROT.class;
  Method clear = rot.getDeclaredMethod("clearObjects", new Class[]{});
  clear.setAccessible(true);
  clear.invoke(null, new Object[]{});
} catch( Exception ex ) {
  ex.printstacktrace();
}

最初无法访问ROT类,AFAIR。

在Jacob中释放资源的正确方法是调用

ComThread.InitSTA(); // or ComThread.InitMTA()
...
ComThread.Release();

不好的是,有时它没有帮助。尽管Jacob调用了本机方法release(),但是内存(甚至不是Java内存,而是JVM进程内存)都无法控制地增长。

解决方法

我有一个eclipse插件,它使用Jacob连接到COM组件。但是,在我完全关闭插件后,.exe文件仍然挂在Windows进程中。

ComThread.InitMTA(true)用于初始化,并确保SafeRelease()在关闭应用程序之前为我创建的每个COM对象都调用了该对象,并在最后调用ComThread.Release()了该对象。

我是否遗漏了什么?

大佬总结

以上是大佬教程为你收集整理的JACOB无法正确释放对象全部内容,希望文章能够帮你解决JACOB无法正确释放对象所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: