我正在分析项目中的内存泄漏情况,找不到发生这种情况的确切原因,只有几次,我可以看到一些与JRMP连接建立相关的异常。
我想知道那些由抛出异常的方法创建的对象和本地引用会发生什么,它们会被GCed吗?
抛出异常或方法正常返回都不会改变任何事情:如果一个对象不再被线程堆栈上的局部变量引用,并且无法从任何根访问(即没有来自静态变量的引用链或线程堆栈上的局部变量通向此对象), 然后,该对象将有资格进行垃圾回收,并最终被回收。
我正在分析项目中的内存泄漏情况,找不到发生这种情况的确切原因,只有几次,我可以看到一些与JRMP连接建立相关的异常。
我想知道那些由抛出异常的方法创建的对象和本地引用会发生什么,它们会被GCed吗?
抛出异常或方法正常返回都不会改变任何事情:如果一个对象不再被线程堆栈上的局部变量引用,并且无法从任何根访问(即没有来自静态变量的引用链或线程堆栈上的局部变量通向此对象), 然后,该对象将有资格进行垃圾回收,并最终被回收。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium