首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
滴答啦滴答啦
门头沟学院 Java
发布于江苏
关注
已关注
取消关注
@JavaSouth南哥:
【面试官】你说说都有哪些垃圾回收器
面试官:JVM为什么不采用引用计数法? 面试官:那你讲讲可达性分析算法? 面试官:垃圾回收器回收的是哪个区域? 面试官:那永久代不会进行垃圾回收对吧? 面试官:你说说都有哪些垃圾回收器? 面试官:你说的CMS为什么有较短的停顿? 面试官:那它有什么缺点? 面试官:你说G1是CMS的升级版,为什么? 面试官:垃圾回收算法都有什么? 面试官:复制算法可以怎么优化吗? 大家好,我是南哥。 一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。 文章目录 判断可回收对象 引用计数法 可达性分析算法 垃圾回收器 垃圾回收区域 回收永久代 垃圾回收器 CMS原理 CMS的缺点 G垃圾回收器 垃圾回收算法 优化复制算法 1. 判断可回收对象 1.1 引用计数法 面试官:JVM为什么不采用引用计数法? 每个Java对象在引用计数法里都有一个引用计数器,引用失效则计数器 - 1,有新的引用则计数器 + 1,通过计数器的数值来判断该对象是否是可回收对象。 大家看下这个例子,如果对象A和对象B没有被任何对象引用,也没有被任何线程访问,这两个对象按理应该被回收。但如果对象A的成员变量引用了对象B,对象B的成员变量引用了对象A,它们的引用计数器数值都不为0,通过引用计数法并不能将其视为垃圾对象。 class A { B b = new B(); } class B { A a = new A(); } 就因为引用计数法很难解决对象之间相互循环引用的问题,所以目前JVM采用可达性分析算法来判断Java对象是否是可回收对象。 1.2 可达性分析算法 面试官:那你讲讲可达性分析算法? 可达性分析顾名思义就是以某个起始点来判断它是否可达,这个起始点称为GC Roots。如果Java对象不能从GC Roots作为起始点往下搜索到,那该对象就被视为垃圾对象,即可回收对象。 可以作为GC Roots对象一共包括以下四种,这点也是面试官常问的: 虚拟机栈中引用的对象。 本地方法栈中引用的对象。 方法区中类静态属性引用的对象。 方法区中常量引用的对象。 2. 垃圾回收器 2.1 垃圾回收区域 面试官:垃圾回收器回收的是哪个区域? JVM由五大区域组成:堆内存、方法区、程序计数器、虚拟机栈、本地方法栈。先说结论,垃圾回收器回收的是堆内存和方法区两大区域。 程序计数器、虚拟机栈、本地方法栈的内存分配和回收都具备确定性,都是随着线程销毁而销毁,因此不需要进行回收。 但在堆内存、方法区中,内存分配和回收都是动态的,我们只有在运行期间才能知道会创建哪些对象;另外这些垃圾对象不会自动销毁,如果任由这两部分区域的垃圾对象不管,势必造成内存的浪费甚至有内存泄漏的可能。 垃圾回收器存在的意义就是通过自动检测和回收这些垃圾对象,来减少内存泄漏的风险。 2.2 回收永久代 面试官:那永久代不会进行垃圾回收对吧? 虽然永久代的垃圾回收效率是比较低的,但永久代里的废弃常量和无用的类仍然会被回收。 例如创建一个字符串常量name,该字符串会存在于常量池中。如果该字符串没有任何String对象去引用它,当发生内存回收时有必要会清除该废弃常量。 private static final String name = "JavaGetOffer"; 2.3 垃圾回收器 面试官:你说说都有哪些垃圾回收器?
点赞 5
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
不愿透露姓名的神秘牛友
07-24 13:40
已读乱回是有什么心事吗?
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
昨天 11:29
打工人问一下休息时间有错吗
点赞
评论
收藏
分享
07-15 11:14
西安科技大学 Java
ai一查才知道很多企业都算大厂
人的认知还是太狭隘了,我理解中的大厂就只有什么华为什么腾讯字节这种耳熟能详的,所以看到很多之前没有听说过名字的公司,以为就是一些中小厂,上ai一查才发现,我去,什么行业龙头,我去,怎么办公室有一栋楼,我去这是什么时候变成这么大规模的。不过可能我认知中的大厂没有那么大,客观来说大厂必须得万人规模,但是我觉得能有千人就已经很大了😭能进这种公司就满足了😭求职的时候全靠ai来搜索公司到底是什么行业的有什么产品,不然我哪里知道……
客户端小将:
管他规模大不大,薪资到位就是大厂
你找工作的时候用AI吗?
点赞
评论
收藏
分享
昨天 11:05
长安大学 产品经理
去魅。去魅,对大厂狠狠去魅!
在北京某大厂实习了两个月,真的,每天都感觉好痛苦。实在不知道跟谁说,就跑这儿来念叨念叨吧。公司是传媒类的,我做的算是账号和内容运营这块儿。干过才知道,这活儿吧,说不上多“脏”,但也绝对没多有意思。最大的感受就是:这行真像在做巧克力流水线! 把别人的视频咔咔一顿剪,打上码,换个标题文案,嘿,就成了“我们的”内容了。以前刷微博还挺喜欢某些大V的,现在知道了,背后其实是一茬茬的实习生轮着班在运营。那些你以为很用心、有深度的博主,皮下可能也就是个实习生。在部门眼里,这些账号就是生意。稍微做点女性相关或者稍微尖锐点的内容,立马被毙,生怕“引起争议”,真的束手束脚。实习生在这儿就跟消耗品似的,今天这个走了...
我对___祛魅了
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
1.2W
2
...
滴滴提前批
8191
3
...
实习都是CRUD怎么包装
7508
4
...
百度提前批一面(秋招第一场也估计是压力最大的)
5876
5
...
秋招首凉-腾讯TEG 云架构平台提前批
5460
6
...
【07.29更新】能救一个是一个!26届毁意向毁约裁员黑名单
4917
7
...
团孝子启动ing!
2954
8
...
干活最少的实习生因为长得漂亮转正了
2859
9
...
字节懂车帝 后端实习一面
2599
10
...
面试劫匪??????
2520
创作者周榜
更多
正在热议
更多
#
26届的你,投了哪些公司?
#
16733次浏览
203人参与
#
我对___祛魅了
#
27109次浏览
266人参与
#
中兴秋招
#
194056次浏览
2170人参与
#
你最讨厌面试问你什么?
#
11202次浏览
168人参与
#
你跟室友的关系怎么样?
#
2986次浏览
59人参与
#
工作中哪个瞬间让你想离职
#
45336次浏览
401人参与
#
简历上的经历如何包装
#
10942次浏览
345人参与
#
你遇到最难的面试题目是_
#
3993次浏览
78人参与
#
如何快速融入团队?
#
9642次浏览
120人参与
#
和同事相处最忌讳的是__
#
13137次浏览
137人参与
#
通信/硬件求职避坑tips
#
85973次浏览
868人参与
#
什么样的背景能拿SSP?
#
15156次浏览
122人参与
#
毕业后不工作的日子里我在做什么
#
190210次浏览
1633人参与
#
应届生应该先就业还是先择业
#
124809次浏览
695人参与
#
字节跳动工作体验
#
458316次浏览
4625人参与
#
如何排解工作中的焦虑
#
190510次浏览
1958人参与
#
多益网络求职进展汇总
#
30936次浏览
138人参与
#
总结:哪家公司面试体验感最差
#
63220次浏览
287人参与
#
元戎启行求职进展汇总
#
35956次浏览
278人参与
#
我和mentor的爱恨情仇
#
61783次浏览
378人参与
#
实习生活中那些难忘的瞬间
#
164026次浏览
2439人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务