Java内存区域

异常说明:
StackOverflowError:线程请求的栈深度虚拟机所允许的深度
OutOfMemoryError:如果虚拟机可以动态扩展,扩展时无法申请到足够的内存

名称 存放内容/作用 线程私有/共享 异常类型 生命周期
程序计数器 正在执行的虚拟机字节码指令地址 私有 与线程相同
虚拟机栈 局部表量表、操作数栈、动态链接、方法出口等 私有 StackOverflowError、OutOfMemoryError 与线程相同
本地方法栈 执行使用到的Native方法服务 私有 StackOverflowError、OutOfMemoryError 与线程相同
Java堆 存放对象实例,可以细分为:新生代、老年代 共享 OutOfMemoryError GC回收
方法区(Non-Heap(非堆)) 类信息、常量、静态变量、即时编译器编译后的代码等数据 共享 OutOfMemoryError
运行时常量池(方法区的一部分) 存放编译期生成的各种字面量和符号引用 共享 OutOfMemoryError
直接内存 共享 OutOfMemoryError

你可能感兴趣的:(Java内存区域)