JVM内存模型和性能调优:JVM整体结构及内存模型- 第10篇

       在接下来的课程中,我们就是对上面这张图片展开进行讲解。

(1)类加载子系统:就是上面我们讲过的类加载器做的事情。

(2)字节码执行引擎:顾名思义就是执行字节码指令的。

(3)运行时数据区:Java虚拟机在执行Java程序过程中会把内存区域划分为若干个不同的数据区域,这些区域统称为运行时数据区。

(4)栈(线程):栈是运行时单位,栈是线程私有的,所以称为线程栈。栈(Stack)是由栈帧(Stack Frame)组成。每个方法的调用都对应一个栈帧。栈帧的存储空间分配在Java虚拟机栈之中,每一个栈帧都有:局部变量表、操作数栈和指向当前方法所属的类的运行时常量池的引用。

(5)堆:Java堆是和Java应用程序关系最密切的内存空间,几乎所有的对象都放在其中,并且Java堆完全是自动化管理,通过垃圾收集机制,垃圾对象会自动清理,不需自己去释放。

说明:栈是运行时单位,而堆是存储的单元。

你可能感兴趣的:(JVM内存模型和性能调优)