记 com.sun.jdi.ObjectCollectedException 异常原因。
今天接触公司项目代码后,进行debug查看集合中元素内容的时候。经常看着看着还没看完,再看的时候见就看不见内容了。
提示框内显示 com.sun.jdi.ObjectCollectedException 形如下图。
DSTB$AMNTU@{H)IBC0HP3MN.png
开始遇到这个问题感觉很是奇怪,因为以前debug好好的,怎么这个项目的debug里总是看着看着就没了,百度谷歌搜索异常类名称ObjectCollectedException 也没发现什么资料,几个搜索记录显示可能与垃圾回收有关。
这个异常类在jdi包下,jdi是Java Debug Interface的缩写,是专门用来debug的一些程序,这方面资料也比较少。
既然说可能跟GC有关,那就想办法观察程序GC状态,什么时候进行了GC,以及debug无法查看集合内存放元素时的是否发生了GC以及内存状况。
这里找来了Java VIsualVM工具,JDK自带,双击就能启动还是很方便的。
左侧找到启动的项目进程,右边出现的窗口中,选择Visual GC选项卡(如果没有这个功能,需要从安装相应插件,软件内安装选择菜单栏中 工具-插件 到可用插件中找到安装),查看当前内存使用和分配情况。
至今没找到解决方法..............
网友评论