您的位置:首页 > 其它

JVM虚拟机运行数据区

2019-06-21 10:09 232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/NEW_BUGGER/article/details/93164913

1、运行时数据区: 线程私有:(虚拟机栈,本地方法栈,程序计数器)

        线程共有:方法区,堆

虚拟机栈:局部变量表(数据基本类型、对象引用类型reference(指向对象地址的指针))、操作数栈、动态链接、方法出口信息等。

本地方法栈:使用的native方法。

2、堆:对象实例,和数组都要在堆上分配内存,可以分为新生代和老年代,新生代又分为:Eden 、form survivor、to survivor

3、方法区:类信息、常量、静态变量、即使编译器 编译后的代码。

4、运行时常量池:是方法区的一部分,存放编译期生成的各种字面量和符号引用。

5、直接内存:NIO,直接使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。能够明显提升性能,因为 避免了Java堆和Native堆中来回复制数据。

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: