美文网首页JVM虚拟机
【2】JVM内存区域

【2】JVM内存区域

作者: zhuangchuhan | 来源:发表于2017-08-11 15:40 被阅读0次

Java虚拟机会在执行Java程序的时候,把它管理的内存区域划分为若干不同的数据区域。这里,按照是否线程共享划分:

线程私有的:【程序计数器】【虚拟机栈】【本地方法栈】

线程共享的:【堆】【方法区】

程序计数器

比较小的空间,当前线程执行的字节码的行号指示器.因为线程切换的需要,线程必须知道切换回来后执行的位置。保存的是正在执行的虚拟机字节码指令的地址。

虚拟机栈

Java方法执行的内存模型。一个方法被调用到结束,意味着一个栈帧的创建、进栈、出栈。(栈帧以后细说)

本地方法栈

与虚拟机栈类似,是Java虚拟机调用本地方法的内存模型。

是内存最大的一块空间,不要求物理连续,只要求逻辑连续。所有的对象实例和数组都是在堆上分配。

方法区

用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码

add:运行时常量池

class文件有一个部分叫常量池,存放编译时期生成的字面量和引用。在类加载进入方法区后,这部分内容会进入到运行时常量池里面。

相关文章

网友评论

    本文标题:【2】JVM内存区域

    本文链接:https://www.haomeiwen.com/subject/vbnlrxtx.html