Java虚拟机内存模型

2020-10-10  本文已影响0人  这是一个假的程序员

这是一篇学习笔记(._. )

内存模型

1.Java堆(堆内存,Heap)

是垃圾收集器管理的主要区域,也称GC堆。作用是存放Java对象实例

2.Java虚拟机栈(栈内存,Stack)

作用是存储Java方法运行时的局部变量(含数据类型、对象的引用,方法执行结束后释放)

每个Java方法得执行对应着一个栈帧得进栈和出栈得操作

3.本地方法栈

与Java虚拟机栈类似,不过它服务于Native方法,Java虚拟机栈服务于执行Java方法

4.方法区(Non·Heap)

堆的一个逻辑部分,作用是存储已被虚拟机加载的类信息、常量、静态变量等数据

5.程序计数器

当前线程所执行的字节码的行号指示器,线程私有,实现异常处理、线程恢复等基础功能

6.运行时数据区

方法区的一部分,存储常量信息,如各种字面量、符号引用等

7.直接内存

也叫堆外内存,它并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,而是Java虚拟机的堆以外的内存,直接受操作系统管理。可直接访问, 比如NIO会用到这部分

上一篇下一篇

猜你喜欢

热点阅读