JVM 是 Java 程序员成长进阶之路的一道坎。真正懂JVM之前,只需要知道代码编译成 Class,虚拟机加载 Class 运行就可以了,深入了解 JVM 之后,可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发中快速定位性能问题等.当然也是面试不可缺少的加分项,面对阿里等一线大企业的面试中也是必问之一!- 什么是堆中的永久代(Perm Gen space)?
- 描述一下 JVM 加载 Class 文件的原理机制?
- 垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- System.gc() 和 Runtime.gc() 会做些什么?
- 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
- 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
所谓系统学习法,是指把所学内容当成是一个系统看待,力求从大方向出发指导学习,这样,在学习和复习的时候不是按部就班按章节行进,而是先模糊概括,再逐渐在大框架下逐步明晰细节、完善结构、针对缺陷和不足专攻的学习方法。 区分一个程序猿技术水平和视野的一个重要指标是性能优化,所以面试时,面试官总会问你一个问题,如何进行性能优化呢?
如果看到这时你的头脑还是一片空白,或是靠死记硬背还是靠着之前的经历,答一下压缩代码,打包代码,事件代理,这说明你对性能优化还是缺乏一个整体,系统的掌握,对性能优化还只是处于听说过一个方法就加上去的阶段。这样也就无从去更好的优化性能。针对于上面的JVM面试题,我看的课程之一是前唯品会、京东电商架构师诸葛老师《金三银四面试突击-性能调优》的直播。一线大厂架构师倾囊享受性能调优经验。原价99元,本号小伙伴依然仅需0.02。
|