美文网首页
2018-11-21 JVM运行时数据区

2018-11-21 JVM运行时数据区

作者: 冻死的毛毛虫 | 来源:发表于2018-11-21 16:36 被阅读0次

    方法区

    线程共享
    用来储存类信息,常量,静态变量,即时编译器编译后的代码
    OutOfMemoryError

    线程共享
    最大的一块内存,用来存放对象实例,垃圾收集器的主要区域
    OutOfMemoryError

    虚拟机方法栈

    线程私有
    java方法执行的内存模型:每个方法执行的时候都会有一个栈帧用来存储局部变量表(基本数据类型,对象引用,returnAddrress),操作数栈,动态链接,方法出口,方法执行的过程就是一个栈帧从入栈到出栈的过程
    局部变量表所需的空间在编译期间完成分配,在运行期不会改变局部变量表的大小。
    StackOverFlowError和OutOfMemoryError

    本地方法栈

    线程私有
    本地方法栈和虚拟机方法栈的功能几乎一样,执行native方法

    程序计数器

    线程私有

    1. 执行java方法时,记录正在执行的字节码的虚拟机字节指令的地址
    2. 执行本地方法(Native)时,为空(Undefined)
    3. 没有OutOfMemoryError

    运行时常量池(元空间)

    1.8是改为元空间,存放编译期生成的各种字面量和符号引用,直接引用

    直接内存

    受物理内存和从操作系统的限制
    OutOfMemoryError

    相关文章

      网友评论

          本文标题:2018-11-21 JVM运行时数据区

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