gpt4 book ai didi

java - ORB.destroy() 无法正确清理,ORB 对象实例不会被垃圾回收

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:49 24 4
gpt4 key购买 nike

问题:ORB.destroy() 无法正确清理,ORB 对象实例不会被垃圾回收。

此问题是在 JDK5 中提出的,并在此处记录的后续版本中修复 http://bugs.java.com/view_bug.do?bug_id=6354718 。我们正在使用 JDK7,但仍然看到文件描述符打开以供连接,并且从未得到释放,因为我们增加了操作系统 FB 限制,因此立即解决了这个问题(但有一天,这个问题又会出现在我们身上)。

对于每个连接,我们都可以使用命令“lsof -p process-id”看到下面的内容

命令 PID 用户 FD 类型设备大小/关闭节点名称

java 14674 xyz 106u IPv6 xyz 0t0 TCP *:xyz(监听)

我们还尝试运行示例程序,该程序能够看到新的 JDK6 和 JDK7 关闭的连接(使用 TCP 查看器分析连接)。

不明白为什么 helloworld corba 程序可以正常工作,但在我们正在做的两种情况下却不能与我们的应用程序一起工作:

orb.shutdown(true);
orb.destroy();

我们也尝试过,但它不会释放连接(其中 rootNamingContext 是 NamingContextExt 的实例):

rootNamingContext._release();
rootNamingContext = null;
System.gc();

最佳答案

使用 tcpdump 进一步调查此问题,我们发现连接已正确关闭。

关于java - ORB.destroy() 无法正确清理,ORB 对象实例不会被垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com