一、java内存区域
程序计数器:线程私有,唯一一个不会出现outOfMemoryError的内存区域
虚拟机栈:线程私有,栈由一个个栈帧组成,而每个栈帧中都拥有:局部变量表、操作数栈、动态链接、方法返回地址。
本地方法栈:线程私有,为虚拟机栈使用到的Native方法服务
堆:线程共享,内存最大的一块,唯一目的就是存放对象实例,几乎所有的对象实例以及数组都在这里分配内存 。
方法区(1.8之后叫元空间):线程共享,逻辑区域,存储已被虚拟机加载的:类信息、字段信息、方法信息、常量、静态变量、即时编译期编译后的代码缓存等数据
直接内存:线程共享,特殊的内存缓冲区,是通过JNI的方式在本地内存上分配的 。
一、java内存区域
程序计数器:线程私有,唯一一个不会出现outOfMemoryError的内存