Java回顾--jvm简单描述
1、关于JVM的简单叙述: JVM是Java Virtual Machine(Java 虚拟机 )的缩写。 主要分为五大模块:类装载器子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块。 其中运行时数据区,即jvm运行时将数据分区域存储,也称Java内存区域,包括: 1、虚拟机栈: 线程私有,与线程生命周期相同。不连续的内存空间。 它描述的是Java方法执行的内存模型:方法创建时会创建一个栈帧,用于存储局部变量表,操作栈,动态链接,方法出口等信息。每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。 局部变量表 :是一组变量存储空间,用于存放方法参数和方法内部的局部变量,即八大基础数据类型和引用类型(指向对象地址的引用指针)。 操作栈: 其结构同局部变量表,也是一个以字节长度为单位的数组。不同的是,局部变量表通过索引进行访问,而操作栈则是通过 压栈--出栈 完成的。其中存储数据的方式也和局部变量表一样,如int、long、float、double、reference和returnType的存储。对于byte、short以及char类型的值在压入到操作数栈之前,也会被转换为int。虚拟机把操作数栈作为它的工作区——大多数指令都要从这里弹出数据,执行运算,然后把结果压回操作数栈。