您的位置:首页 > 编程语言 > Java开发

java虚拟机内存分布

2014-12-27 11:08 183 查看
java虚拟机内存一般分为以下5部分:

程序计数器:可以看做当前线程所执行的字节码的行号指示器。java虚拟机在执行多线程时,同一时刻只能执行一个线程的一条指令,固程序计数器是记录对应线程所执行到的位置,也就是说每个线程要对应一个程序计数器。如果线程执行的是java方法,计数器显示的是行号,如果执行的是native的时候,则显示undefinded,该区域还是唯一一个java虚拟机中没规定任何内存溢出的区域。

java虚拟机栈:也就是经常说的栈内存,存储局部变量,其中包括(8大基本数据类型,对象的引用变量等),在编译时完成分配。

本地方法栈:与java虚拟机栈类似,不过处理的是native方法。

java堆:存放对象的实例,垃圾回收机制主要负责的区域,当内存不足时,为抛出OutOfMemberError的异常,属于线程共享。

方法区:主要存放类信息和常量,静态变量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 内存分布