JVM系列一:JVM内存模型

今天起开始总结JVM。自己也看了好多JVM相关的知识,在此做个总结。

打算分为五个部分来讲:JVM内存模型、JVM类加载机制、JVM垃圾回收机制、JVM启动参数设置及优化、JVM其他相关。

今天首先来看JVM内存模型。

————————————————————————————————————————————————————————————

JVM是java虚拟机,它将字节码(.class文件)加载到内存里解释执行。

JVM运行时所需的数据放在运行时数据区,分为5个部分:

 

1.堆:存储JVM运行过程中生成的对象

2.方法区:存储类的结构信息,静态变量信息,包含常量池(常量池存储常量,字符串)

3.程序计数器:始终指向JVM执行的下一条指令地址

4.栈:JVM是基于栈执行的虚拟机,每启动一个线程,都会分配一块栈空间,JVM的执行就是将栈帧入栈和出栈的操作

5.本地方法栈:执行非java方法,本地方法的栈空间

其中,堆和方法区是所有线程共享的;程序计数器、栈和本地方法栈是每个线程所私有的。

posted on 2018-12-04 14:25  ld_mars  阅读(219)  评论(0编辑  收藏  举报

导航