美文网首页
2. JVM 运行时数据区域

2. JVM 运行时数据区域

作者: 42cc8919e42f | 来源:发表于2019-03-08 19:03 被阅读0次

1. 程序计数器

  • 可以看作是当前线程所执行的字节码的行号指示器
  • 分支、循环、跳转、异常处理、线程恢复等都需要依赖该计数器
  • 每个线程都有一个独立的、互不干扰的计数器

2. 虚拟机栈

  • 线程私有,生命周期与线程相同
  • 每一个方法调用直至完成,对应着一个栈帧入栈到出栈
  • 两个关键异常
    • 当前虚拟机使用固定长度的虚拟机栈时,若请求的栈深度大于虚拟机所允许的深度会抛出StackOverFlowError
    • 当前虚拟机使用动态长度的虚拟机栈时,若扩展时无法申请到足够的内存会抛出OutOfMemoryError

3. 本地方法栈

类似虚拟机栈

4. Java 堆

  • 本质就是存放对象的地方
  • 当堆无法扩展以完成实例的分配时,就会抛出OutOfMemoryError

5. 方法区

  • 仅在 HotSpot 虚拟机中,方法区是以永久代的形式实现的

相关文章

  • JMM与可见性

    JMM jvm运行时数据区域 Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域...

  • Java内存管理

    2.9 JVM内存管理 2.9.1 运行时数据区域 JVM所管理的内存可以分为一下几个运行时数据区域: 其中方法区...

  • jvm内存模型及GC记录

    在jvm中有一块非常重要的区域,就是jvm运行时数据区。今天对该区域做下总结和记录: 在讨论jvm运行时数据区前,...

  • jvm 运行时数据区-01

    jvm 运行时数据区 jvm 运行时数据区 ,将内存划分为5个区域,java 代码在运行时 类里面的 组成部分 分...

  • 2. JVM 运行时数据区域

    1. 程序计数器 可以看作是当前线程所执行的字节码的行号指示器 分支、循环、跳转、异常处理、线程恢复等都需要依赖该...

  • JVM虚拟机内存模型

    本文主要根据JDK1.8讲解JVM虚拟机JVM运行时内存区域从上图我们可以看到JVM在运行时的一、JVM虚拟机数据...

  • JVM(一)---- 总结与专题目录

    JVM(一)---- 总结与专题目录JVM(二)----Java运行时数据区域JVM(三)----垃圾收集算法及S...

  • JVM(五)----虚拟机类加载机制

    JVM(一)---- 总结与专题目录JVM(二)----Java运行时数据区域JVM(三)----垃圾收集算法及S...

  • JVM(二)----Java运行时数据区域

    JVM(一)---- 总结与专题目录JVM(二)----Java运行时数据区域JVM(三)----垃圾收集算法及S...

  • JVM(三)----垃圾收集算法及Safe Point介绍

    JVM(一)---- 总结与专题目录JVM(二)----Java运行时数据区域JVM(三)----垃圾收集算法及S...

网友评论

      本文标题:2. JVM 运行时数据区域

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