Java运行时数据区概述详解
如果线程正在执行一个Java方法,则这个计数器记录的正是正在执行的虚拟机字节码指令的地址;如果正在执行的是Native方法,则这个计数器值为空。此内存区域是唯一一个在Java虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域。Java虚拟机栈和程序计数器一样,都是线程私有的。本地方法栈与虚拟机栈所发挥的作用是非常相似的,但是本地方法栈为虚拟机使用Native方法服务。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称为 “GC堆”。当方法区无法满足内存分配需求时,将抛出OutOfMemoryError 异常。
用户评论