美文网首页
jvm运行时数据区

jvm运行时数据区

作者: 南小先生 | 来源:发表于2018-04-12 14:00 被阅读0次
    jvm运行时数据区

    程序计数器:可以看作是当前线程所执行字节码的行号指示器。任何确定的时刻一个处理器只会执行一条线程的指令,为了多线程切换后能够恢复到正确的执行位置,每条线程都需要独立的程序计数器,所以程序计数器这块内存是线程私有的。

    java虚拟机栈:线程私有的,它的生命周期与线程相同。虚拟机栈描述的是java方法执行的内存模型,每个方法在执行时都会创建一个栈桢用于存储局部变量表、操作数栈、动态链接、方法出口等信息。

    局部变量表存储了编译时期可知的各种基本数据类型,对象的引用和returnAddress类型

    本地方法栈:它的作用与虚拟机栈类似,区别是虚拟机栈为虚拟机执行java方法服务,本地方法栈为虚拟机使用到的native方法服务。

    java堆:是虚拟机所管理的最大一块内存,它是线程共享的。几乎所有对象实例以及数组都是在堆上分配内存的。java堆也是垃圾回收器管理的主要区域。

    方法区:也是线程共享的,用于存储已经被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码等数据。

    《深入理解JVM》记录。

    相关文章

      网友评论

          本文标题:jvm运行时数据区

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