zoukankan      html  css  js  c++  java
  • java虚拟机内存模型

    Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。

    这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。

    Java虚拟机所管理的内存将会包括以下几个运行时数据区域:Method Area(方法区),VM Stack(虚拟机栈),Native Method Stack(本地方法栈),Heap(堆),Program Counter Register(程序计数器)。

    Method Area

    • 生命周期:Java虚拟机进程的启动与关闭
    • 存储内容:类信息,常量,静态变量,即时编译器编译的字节码
    • 存储内容是线程共享的

    VM Stack

    • 生命周期:用户线程的启动与关闭
    • 存储内容:局部变量表,操作栈,动态链接,方法出口
    • 存储内容是线程独享的

    Native Method Stack与VM Stack相似,只是只与Native方法相关

    Heap

    • 生命周期:Java虚拟机进程的启动与关闭
    • 存储内容:对象实例,数组
    • 存储内容是线程共享的

    Program Counter Register

    • 生命周期:用户线程的启动与关闭
    • 存储内容:字节码执行记录
    • 存储内容是线程独享的
  • 相关阅读:
    个人总结13
    构建之法阅读笔记一
    个人总结12
    个人总结11
    地铁时光机第一阶段冲刺十
    地铁时光机第一阶段冲刺九
    地铁时光机第一阶段冲刺八
    单词 统计续
    地铁时光机第一阶段冲刺七
    个人总结10
  • 原文地址:https://www.cnblogs.com/andyyang1013/p/12877691.html
Copyright © 2011-2022 走看看