• 详解JVM(运行时数据区)


    1.运行时数据区组成概述

    JVM的运行时数据区,不同虚拟机实现可能略微有点不同,但是都会遵从Java虚拟机规范,Java 8

    虚拟机规定,Java虚拟机所管理的内存都将会包括以下几个运行时数据区域:

    1.程序计数器(Program  Counter  Register)

    程序计数器(Program  Counter  Register)是一块比较小的内存空间,他可以看做是当前线程所执行的字节码的行号指示器。

    2.Java虚拟机栈(Native  Method  Stack)

    描述的是Java方法执行的内存模型,每个方法在执行的同时会创建一个线帧(Stack Frame)用于存储局部变量表,操作数帧,动态链接,方法出口等的信息,每个方法从调用直至执行完成的过程,都对应一个线帧在虚拟机栈中从入栈到出栈的过程。

    3.本地方法栈(Native Method Stack)

    与虚拟机栈作用一样的,只不过虚拟机方法栈是服务于Java方法的,而本地方法栈是为虚拟机调用Native 方法服务的。

    4.Java堆(Java  Heap)

    是Java虚拟机中内存中最大的一块,是被所有线程共享的,在虚拟机启动时创建,Java堆唯一的目的就是存放对象的实例,几乎所有的对象实例都在这里分配内存

    5.方法区(Method  Area)

    用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译后的代码等数据。方法区是很重要的系统资源,是硬盘和CPU的中间桥梁,承载着操作系

  • 相关阅读:
    【NODE.JS】Buffer
    C++位图简明介绍与实现
    Explain详解与索引最佳实践
    国产立体声音频数模D/A转换器DP4344替代兼容CS4344
    【定语从句练习题】That 、who、whom、省略
    Mysql--事务
    Netty源码剖析之数据通信流程
    决策树算法的一点基础知识补充
    绝地求生,曾让无数玩家热血沸腾的游戏
    ES学习笔记
  • 原文地址:https://blog.csdn.net/wodengniyujiul/article/details/125936803