当前位置 : 主页 > 编程语言 > java >

【Java -- 虚拟机】图文解析内存结构

来源:互联网 收集:自由互联 发布时间:2022-06-22
一、内存模型 分区 1. Java虚拟机在运行Java程序时,会管理着一块内存区域:运行时数据区 2. 在运行时数据区里,会根据用途进行划分: Java虚拟机栈(栈区) 本地方法栈 Java堆(堆区)

一、内存模型 & 分区

1. Java虚拟机在运行Java程序时,会管理着一块内存区域:运行时数据区

2. 在运行时数据区里,会根据用途进行划分:

  • Java虚拟机栈(栈区)
  • 本地方法栈
  • Java堆(堆区)
  • 方法区
  • 程序计数器
    【Java -- 虚拟机】图文解析内存结构_虚拟机

二、Java 堆

1. 示意图
【Java -- 虚拟机】图文解析内存结构_本地方法_02

2. 简介
【Java -- 虚拟机】图文解析内存结构_内存结构_03

三、Java 虚拟机栈

  • 示意图
    【Java -- 虚拟机】图文解析内存结构_java虚拟机_04
    2. 简介
    【Java -- 虚拟机】图文解析内存结构_内存结构_05
  • 四、本地方法栈

    1. 示意图
    【Java -- 虚拟机】图文解析内存结构_java虚拟机_06

    2. 简介
    十分类似 Java 虚拟机栈,与Java虚拟机区别在于:服务对象,即
    Java 虚拟机栈为执行 Java 方法服务;本地方法栈为执行 Native 方法服务

    五、方法区

    1. 示意图
    【Java -- 虚拟机】图文解析内存结构_虚拟机_07
    2. 简介
    【Java -- 虚拟机】图文解析内存结构_虚拟机_08

    其内部包含一个运行时常量池,具体介绍如下:
    【Java -- 虚拟机】图文解析内存结构_java_09

    六、程序计数器

    1. 示意图
    【Java -- 虚拟机】图文解析内存结构_内存结构_10

    2. 简介
    【Java -- 虚拟机】图文解析内存结构_内存结构_11

    七、小结

    本文全面讲解JVM中的内存模型 & 分区,总结如下
    【Java -- 虚拟机】图文解析内存结构_本地方法_12


    上一篇:【Java -- 算法】递归
    下一篇:没有了
    网友评论