JAVA内存区域和内存溢出异常
1、JAVA运行时数据区如下图
程序计数器:当前线程正在执行的代码的行号指示器。是线程私有的。它是JAVA虚拟机唯一没有指定OutOfMerroryError异常的区域。
虚拟机栈:是线程私有的。描述的是Java方法执行时的内存模型。每个方法被创建时,会创建一个栈帧,用于存储局部变量表、操作表、方法出口等信息。
本地方法栈:其发挥的作用与虚拟机栈类似。不同的是虚拟机栈为虚拟机方法服务,本地栈位为虚拟机使用到的Native方法服务。
Java堆:被所有线程共享的一块区域。对象的实例及实例都在堆上分配。
时间: 2024-10-14 16:51:02