《深入理解Java虚拟机》学习笔记

JDK:用于支持Java程序开发的最小环境,包括Java程序设计语言、Java虚拟机、JavaAPI三部分。
JRE:支持Java程序运行的标准环境,包括Java SE API子集和Jaca虚拟机。

Java虚拟机发展史

1.Sun Classic/Exact VM
Classic VM:只能使用纯解释器方式来执行Java代码,如果要使用JIT编译器,必须进行外挂,而解释器与编译器不能配合工作。
Exact VM:虚拟机可以知道内存中某个位置的数据具体是什么类型。
2.Sun HotSpot VM
结合了前两款虚拟机特点,也拥有新优势,如特点代码探测技术。
3.Sun Mobile-Embedded VM/Meta-Circular VM
4.BEA JRockit IBM J9 VM
5. Azul VM /BEA Liquid VM
6. Apache Harmony /Google Android Dalvik VM
7. Microsoft JVM及其他

Java内存区域与内存溢出异常

  • 运行时数据区
    《深入理解Java虚拟机》学习笔记
    1.程序计数器: