Java虚拟机常见面试问题

2018-09-25 17:29:09

最近有朋友去过阿里面试,说掉坑里面了,总之是面试前准备工作不够,聊到关于jvm这块的一些理论知识,记录如下:

1.jvm垃圾回收

虚拟机中划分为年轻代,年老代和持久代。

年轻代:所有新生对象首先都是放在年轻代,年轻代主要收集那些生命周期短的对象。年轻代又分为三个区,一个Eden区,两个Survivor区,大部分对象在Eden区生成,当Eden区满时,还存活的对象复制到Survivor区的其中一个,当Survivor也满时,会触发GC,清除非存活对象。

年老代:在年轻代中经历了N次垃圾回收后仍然存活的对象,就会被放到年老代中,年老代存放的都是一些生命周期较长的对象。

持久代:用于存放静态文件,如java类,方法等,jar包之类,持久代对垃圾回收没有显著影响,但是老年代满的时候会触发full gc,会对整个堆内存进行垃圾清理,包括老年代,年轻代,一般full gc大于24小时一次,比较合理。

2.哪些情况会导致full gc

年老代被写满

持久的被写满

System.gc()被显著调用

(微信打赏)

(支付宝打赏)
原创不易,谢谢赞赏。你的支持就是我的动力,我会更加努力。

统一调度平台

调度任务是大多数应用系统的常见需求,一般小型项目中,我们可能直接在每个项目代码中直接使用spring quartz集成。随着分布式系统拆分越来越细,我们会发现很多业务系统都有调度任务的需求

当今主流云服务器代金劵,优惠折扣最大力度推荐。

阿里云产品1888元服务器代金券大礼包免费领取。

阿里云服务器低门槛上云捷径,普惠上云,云服务器1核1G仅需293元/年。

企业级高性能实例,限时2-5折,限首次购买ECS用户参与,限购4台。

腾讯云代金券新用户满200减150 满500减375 满1000减750 满2000减1500。

腾讯云服务器,数据库热卖云产品3折起,爆品低至1折。

腾讯云业界领先的性价比,0.57元/天起,关注最新活动,免费体验产品。