我想知道Java中对象的年龄,当我们使用new关键字时,用户定义的对象是在Java中创建的,但是它什么时候会被销毁呢?
这是跨越JVM的perm空间所花费的时间吗?我可以使用JNI编程知道对象的数字年龄吗?
生存空间、烫发空间和物体年龄之间的关系是什么?
发布于 2014-01-06 13:26:16
当一个对象符合GC的条件,并且JVM决定在该对象所在的堆区域(新/旧一代)中运行GC时,该对象将被销毁。您可以通过重写finalize方法或使用WeakReference和ReferenceQueue知道正在被销毁的时刻。
发布于 2014-01-06 13:26:06
您可以在对象的构造函数中启动计时器,并在调用finalize()时停止计时器。您可以覆盖Object类的finalize()。只需在finalize()方法中的计时器逻辑之前调用super.finalize() (GC线程将在对象实例上调用finalize()以释放其资源)。
对象是在年轻的gen中创建的,从一半GC存活到老gen区域。Perm gen用于存储类信息,而不是实例。
https://stackoverflow.com/questions/20943476
复制相似问题