第四堂:Java程序运行期数据区

  Java虚拟机是运行Java程序的基础,而Java虚拟机的内部则是由类装载器、运行期数据区、执行引擎组成。

  类装载器:见文只意;类装载器就是加载Java程序运行时所需要的Java类的一个加载器。

  执行引擎:执行,引擎,这两个词表明了他的作用。引擎,顾名思义,不可缺少的东西;如同机器的发动机。执行引擎的作用是执行被加载了的指令。

  

  运行期数据区的作用是:管理程序运行是内存中存储的字节码。运行期数据区被分的非常细,它包括:方法区,堆,栈,PC寄存器,本地方法栈;

  方法区的作用非常简单,它会存放字节码文件,符号常量,字面常量。即一个存放东西的地方。

  堆:一个存放对象的地方。

  栈:存放局部变量、返回值、被调用的参数、运算的中间结果,基本的变量和引用类型的本身。即引用类型的变量在栈中会被真正改变,而基本类型的变量则不会被改变。

  栈和堆相比,栈的速度远大于堆,而栈中的数据会在方法结束后被释放,堆中的数据则是在没有被引用的时候被回收;

原文地址:https://www.cnblogs.com/shashen913515/p/6452517.html