首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java中finalized的用法_java中的引用类型

JVM都崩溃了,那到底执行finalize方法时发生了什么.Jvm会给每个实现了finalize方法的实例创建一个监听,这个称为Finalizer,每次调用对象的finalize方法时,JVM会创建一个java.lang.ref.Finalizer...对象,这个Finalizer对象会持有这个对象的引用,由于这些对象被Finilizer对象引用了,当对象数量较多时,就会导致Eden区空间满了,经历多次youngGC后可能对象就进入到老年代了. java.lang.ref.Finalizer...force = new Finalizer(); } //让线程阻塞住,方便分析内存使用情况 System.in.read(); } } 执行main方法后使用jmap命令查看内存使用情况,可以看到java.lang.ref.Finalizer...和Finalizer对象依然存在,不过这一java.lang.ref.Finalizer 不再引用Finalizer对象,下一次GC周期时两者都属于垃圾对象: 11$ jmap -histo:live...8700|head -n 10 num #instances #bytes class name ———————————————- 1: 10175 407000 java.lang.ref.Finalizer

1.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券