如果我有一个长持久型对象A和许多临时对象B、C、D等,这些临时对象包含对A的引用,那么只要A被某些东西引用,这些临时对象会被收集吗?
class A {} // (sits in web app session)
class B {
private A a;
}
class C {
private A a;
}其中B和C仅存在于请求,但包含对A的引用。
发布于 2012-06-05 04:59:56
他们会的,如果没有办法到达B和C(但他们到达了其他对象),他们将被照常收集。
发布于 2012-06-05 05:00:00
B和C可以在请求之后立即进行垃圾回收。没有任何东西是指他们。
发布于 2012-06-05 05:00:13
是的,它们可以被收集。如果A持有对它们的引用,那么只要A仍然可达,它们就不会被收集。
https://stackoverflow.com/questions/10888258
复制相似问题