JVM如何知道哪些对象是新生代的?

    看《深入理解Java虚拟机》的时候产生疑惑,GC分为Young GC 和Old GC,Yong GC是对新生代的对象进行回收,是通过遍历新生代的GCRoots和老年代的跨代引用的记忆集来判断对象的生死的, 那么JVM是什么知道哪些是新生代的对象的呢??还是JVM知道哪些GCRoots是新生代的根节点?? 换句话说堆内存是怎么分代的,怎么知道哪些内存是新生代?哪些内存是老年代?有没有大佬解惑一下,感激!!#Java#
全部评论
JVM在创建对象的时候,对象有对象头,里面开始是hashcode,GC年龄,以及锁状态……。通过查看对象头中的GC年龄就知道她是新生代还是老年代,默认GC年龄达到15就是老年代了
2 回复
分享
发布于 2021-04-23 13:58

相关推荐

点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务