说一下 JVM 运行时数据区 ?

目录

[一、程序计数器(Program Counter Register)](#一、程序计数器(Program Counter Register))

[二、Java 虚拟机栈(Java Virtual Machine Stacks)](#二、Java 虚拟机栈(Java Virtual Machine Stacks))

[三、本地方法栈(Native Method Stack)](#三、本地方法栈(Native Method Stack))

[四、Java 堆(Java Heap)](#四、Java 堆(Java Heap))

[五、方法区(Methed Area)](#五、方法区(Methed Area))


一、程序计数器(Program Counter Register)

当前线程所执行的字节码的行号指示器,字节码解析器的工作是通过改变这个计数器的值,来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能,都需要依赖这个计数器来完成(为什么要线程计数器?因为线程是不具备记忆功能)

二、Java 虚拟机栈(Java Virtual Machine Stacks)

每个方法在执行的同时都会在Java 虚拟机栈中创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息;(栈帧就是Java虚拟机栈中的一个单位)

三、本地方法栈(Native Method Stack)

与虚拟机栈的作用是一样的,只不过虚拟机栈是服务 Java方法的,而本地方法栈是为虚拟机调用 Native 方法服务的;(Native 关键字修饰的方法是看不到的,Native 方法的源码大部分都是 C和C++ 的代码)

四、Java 堆(Java Heap)

Java 虚拟机中内存最大的一块,是被所有线程共享的,几乎所有的对象实例都在这里分配内存;

五、方法区(Methed Area)

用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据。

相关推荐
计算机小白一个9 分钟前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯
万物皆智能1 小时前
AI合规面试:AI合规常见面试题与答题思路
人工智能·面试·职场和发展
sunburn-1 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
vx-程序开发2 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
GitLqr2 小时前
玩转 Flutter 项目依赖:从 pubspec.yaml 到实战包管理
flutter·面试·全栈
zzh___zzh3 小时前
SQL 窗口函数 ROW_NUMBER、RANK、DENSE_RANK 常用方法笔记
java
计科土狗3 小时前
GESP六级专题之类与对象
java·前端·数据库
Slow菜鸟4 小时前
第3篇:实操落地篇 · 3套企业标准工作流(IDEA可视化版)
java·ide·intellij-idea
weixin_440784114 小时前
Java基础常见题
java·开发语言·python·java基础
掉鱼的猫4 小时前
Hot-Plug 实战:运行期管理 Solon 插件
java·hotfix