(1)说一下jvm内存分为哪几个区域?哪些是线程独享?哪些是线程共享?对象从创建到销毁的生命周期里是如何在内存区域中转移的?
(2)哪些内存区域会参与gc回收?什么情况下一个对象会被gc掉?为什么要在这个时候让对象被gc?了解哪些jvm垃圾回收器?jvm有哪些gc算法?各种gc算法的优缺点是什么以及适用场景?新生代和老生代的gc回收策略是什么?cms垃圾回收器的原理是什么?何时触发minor gc?何时触发full gc?
(3)说说jvm的类加载机制?都有哪些类加载器以及分别加载哪些文件?类加载器之间的父子关系是什么?什么是双亲委派模型?如何自定义自己的类加载器?自己的类加载器和java自带的类加载器的关系如何处理?以下两种类加载方式有什么区别?class.forName()和classLoader?