#浅谈JVM及原理
1,什么是JVM
JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。
JVM相关的产品有很多, 通常最有名的莫过于现在Oracle公司所用的HotSpot 虚拟机。因此, 这里讨论的都是HotSpot虚拟机, 如果没有特别说明。
2,JVM架构图
- JVM被分为三个主要的子系统:
- 类加载器子系统
- 运行时数据区
- 执行引擎
3,类加载子系统
类加载,是通过JVM的类加载器从JVM外部以二进制字节流的方式加载到JVM中;Java的动态类加载功能是由类加载器子系统处理。当它在运行时(不是编译时)首次引用一个类时,它加载、链接并初始化该类文件。
被java编译器编译过的.class文件 经过类加载器加载