首页 > 歌单

java什么情况下使用finalize finalize属于什么类?

finalize属于什么类?

finalize是object类的一个方法,在垃圾收集器执行的时候会调用这个方法,以便在垃圾收集的时候回收其他资源,比如关闭文件。

java使用finalize()方法在垃圾收集器从内存中清除对象之前进行必要的清理。当确定对象未被引用时,垃圾回收器调用此方法。它是在object类中定义的,所以所有的类都继承它。子类覆盖finaliz

怎么在面试时回答java垃圾回收机制(gc)相关问题?

如何在面试中回答关于java垃圾收集机制(gc)的问题?

java什么情况下使用finalize finalize属于什么类?

1、笔试、面试评价一个人肯定不够准确,了解一个人最准确的是"距离知马力,日久见人心"。在一两个小时内做题和沟通,只是没有其他手段的无奈之举,所以面试通过不代表有多成功,没通过不代表有多失败。

2.一个好的面试官在说话的时候不应该把自己当成一个居高临下的角色,而应该把自己和者当成两个技术人来平等交流。把自己当成权威,往往会受到工作领域的视角、语言表达、惯性的制约。

3.一个好的调查话题是不同层次的人可以有不同的答案,后面要讨论的话题可以从问题中引申出来。

比如抛砖引玉,

"大家都知道java里有个叫垃圾收集器的东西,让创建的对象不需要像c/cpp那样被删除和释放。能说说gc什么时候,做了什么,做了什么吗?"

这个问题我自己分析。第一个问题是"何时",不同级别的答案由低到高排列:

1.当系统空闲时。

分析:这类回答占30%左右。如果遇到,我一般会转到其他话题,比如算法,比如ssh,看看能不能发掘一些他擅长的其他方面。

2.系统自己决定不可预知的时间/当调用system.gc()时。

分析:这类答案占55%左右,大部分大一新生都能回答这个答案,至少可以不要认为这是一个错误。后面要细分是语言表达导致回答过于笼统,还是只有这样模糊的理解。

3.能够分辨新生代和旧时代的构造,提出小gc/全gc。

分析:在这个层面上,我基本可以说对gc操作有了概念性的了解,比如看到《深入jvm虚拟机》等等。这部分不到10%。

4.解释次要gc/完整gc的触发条件和oom。触发条件,减少gc调优策略。

分析:列举一些我期待的答案:eden充满了未成年gc,升到老年的对象大于老年的剩余空间,或者比它小的时候被handlepromotionfailure参数强制满gc;gc和非gc的时间消耗超过了gctimeratio的限制,导致了oom,而优化,比如通过newratio控制新世代和老世代的比例,通过maxtenuringthreshold控制进入老世代之前的存活次数,会给我带来更高的期待。当然,正常人在面试的时候是不会记住每个参数的拼写的,我自己写这段话的时候也翻了手册。回答说这部分不到2%。

ps:加起来不到100%,因为确实有一些人直接说他们不知道。;t不知道或者直接拒绝回答#

分析第二个问题:"为了什么?"

1.未使用的对象。

解析:相当于不回答,问题是"未使用的对象和。30%左右。

2.超出范围的对象/引用计数为空的对象。

分析:两个答案站在60%,相当高。估计在学校老师就是这么教java的。第一个答案没有。;我不能解决我的问题。gc如何确定哪些对象超出了范围?至于参考计数来判断对象是否具有收藏价值,我可以补充以下例子,让面试官分析obj1和obj2是否会被gc淘汰。

c类{

公共对象x

}

cobj1、obj2新c()

obj1.xobj2

obj2.xobj1

obj1、obj2为空

3.从gc根目录搜索,搜索找不到的对象。

分析:it找到并标记根对象还不错,只有不到5%的人能回答这一步,估计是引用计数的太"深入人心"。你基本上可以得到这个问题的所有分数。

ps:有面试官在这个问题中加入了强报价、弱报价、软报价、幻影报价的区别,这不是我想问的答案,但是可以加分。

4.没有可以从root搜索到的对象,第一次标记清理后,仍然没有复活。

分析:很期待答案。但确实很少有面试官会回答这一点,所以我在脑子里回答第3点的话,我会给出所有的分。

最后还有一个问题:"做什么"。这个问题的发挥空间太大,不同年份,不同收藏者的动作也很多。

1.删除不用的对象,为内存腾出空间。分析:与问题2第一点相同。40%。2.添加一些指令,比如停止其他线程执行,运行finaliz《深入jvm虚拟机》的人,也基本能回答到这个水平。其实我一直很期待这个水平。也不到10%。4.除了3,还可以明确说明串行、并行(碎片整理/非碎片整理)、cms等收集器的年龄、特点、优缺点,说明控制/调整收集器选择的。解析:同上面两个问题的第四点。

问题gc对象gc答案

原文标题:java什么情况下使用finalize finalize属于什么类?,如若转载,请注明出处:https://www.lrccn.com/gedan/1499.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「歌词网」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。