前言
JVM对实际简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是JVM,以及弄清楚JVM的工作原理,其实我个人认为这块还是非常有必要去认真了解及学习的,特别是刚入门或入门不久的Java开发来说,这是Java的基石。
其次,从各大招聘平台来看,一线互联网企业招聘需求(尤其是阿里巴巴),第一条就明确了要掌握JVM原理,因为JVM是中高级程序员必须要掌握的技术,学JVM也是为了更深入地理解Java以及更好的解决线上排查问题。
网上有关Java虚拟机的资料主要还是周志明的《深入理解Java虚拟机》,今天我就带大家来看看阿里云大师如何深入拆解Java虚拟机,让你更深入更通俗的理解JVM。
面:为什么要使用双亲委派机制去加载类?
答:避免多份同样字节码的加载,浪费内存。
类的加载方式
- 隐式加载:new
- 显示加载:loadClass、forName等
类的装载过程如下图:
面:loadClass和forName的区别?