关注
4 .JVM(运行时数据区域(与JMM的区别),GC root,新生代垃圾回收算法,老年代垃圾回收算法,新生代又分什么,垃圾回收机器(CMS,G1),类加载机制(双亲委派等等))--深入理解Java虚拟机
JVM(java虚拟机模型):包括java虚拟机栈,java堆,本低方法栈,程序计数器,方法区
JMM(java内存模型),主要是为了规定线程和内存之间的关系,系统存在一个主内存中,Java所有的变量都存在主存中,对于所有的线程都是共享的,线程对变量的操作都在各自的工作内存中进行,线程之间无法进行通信,变量传递需要通过主内存进行。个人认为,JMM就像是一个接口,提供了规范,JVM实现了这个接口。
GC(垃圾回收)是Java核心之一,判断什么样的对象才被GC主要有两种算法,引用计数法和标记-清除算法。
引用计数法是每个对象都有一个引用计数,当对象被创建的时,给对象的计数设置为1,当对象被引用时,计数加一,引用失效,计数减一,当计数器为0的对象就是不会被使用,就会被GC回收,这样效率很高,但是造成一个问题就是当对象循环引用的时候,计数器不会为0,对象就不会被销毁。
可达性分析:把所有的引用关系看成一张图,从一个节点GC root开始,向下开始寻找对应的引用节点,找到这个节点,继续向下寻找这个节点的引用节点,当所有的引用寻找结束后,剩余的节点就是没有被引用到的节点。
可以作为GC root节点的有:
虚拟机栈引用的对象
方法区中静态属性引用的对象
方法区中常量引用的对象
本地方法栈中引用的对象。
查看原帖
点赞 评论
相关推荐
04-30 14:34
重庆大学 测试工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 商战,最累的是我们 #
762次浏览 11人参与
# 租房找室友 #
16885次浏览 107人参与
# 2023届毁约公司名单 #
186361次浏览 935人参与
# 你上一次加班是什么时候? #
52565次浏览 368人参与
# 学历or实习经历,哪个更重要 #
100185次浏览 709人参与
# 深信服求职进展汇总 #
180517次浏览 1670人参与
# 大疆求职进展汇总 #
481031次浏览 3197人参与
# 产品面经 #
170184次浏览 1895人参与
# 秋招想进国企该如何准备 #
51854次浏览 352人参与
# 你觉得通信/硬件有必要实习吗? #
100670次浏览 898人参与
# 实习要如何选择和准备? #
61048次浏览 989人参与
# 市场营销人求职交流聚集地 #
109659次浏览 1007人参与
# 摸鱼被leader发现了怎么办 #
51807次浏览 323人参与
# 如果可以,你希望哪个公司来捞你 #
72953次浏览 314人参与
# 秋招最大的收获是什么? #
25819次浏览 275人参与
# 联想求职进展汇总 #
254309次浏览 1996人参与
# 研究所笔面经互助 #
65427次浏览 430人参与
# 找工作,行业重要还是岗位重要? #
30701次浏览 518人参与
# 哪些公司面试官让你印象深刻? #
252273次浏览 2651人参与
# 米哈游工作体验 #
12754次浏览 103人参与