一面
自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟)
你感觉比本科阶段自己进步了多少,有哪些进步
研究生期间最大的进步是什么
你觉得你适合从事哪个方向的开发
synchronized与lock的区别,使用场景。看过synchronized的源码没
JVM自动内存管理,Minor GC与Full GC的触发机制
了解过JVM调优没,基本思路是什么
如果CPU使用率较高,GC频繁且GC时间长,可能就需要JVM调优了。
基本思路就是让每一次GC都回收尽可能多的对象,
对于CMS来说,要合理设置年轻代和年老代的大小。该如何确定它们的大小呢?这是一个迭代的过程,可以先采用JVM的默认值,然后通过压测分析GC日志。
如果看年轻代的内存使用率处在高位,导致频繁的Minor GC,而频繁GC的效率又不高,说明对象没那么快能被回收,这时年轻代可以适当调大一点。
如果看年老代的内存使用率处在高位,导致频繁的Full GC,这样分两种情况:如果每次Full GC后年老代的内存占用率没有下来,可以怀疑是内存泄漏;如果Full GC后年老代的内存占用率下来了,说明不是内存泄漏,要考虑调大年老代。
对于G1收集器来说,可以适当调大Java堆