JVM体系结构(运行时数据区)初解

JVM体系结构(运行时数据区)初解

JVM是一个抽象的概念,它是一个规范

我们主要要了解的是 JVM规范中的 运行时数据区

各区域:

  • 程序计数器:存放下一次执行的字节码指令
  • 虚拟机栈:调用普通方法时压栈出栈,存放调用方法的栈帧,内部有局部变量表和操作数栈、动态连接以及方法出口;可能抛出 StackOverflowError、OutOfMemoryError
  • 本地方法栈:调用本地方法时的压栈出栈。(C++)写的动态链接库,举个例子:在Object类中查找本地方法 hashcode(); 方法。
  • 堆:new 出的对象和数组存放的地方。是GC的主要区域
  • 方法区:类元信息(类结构、字段、方法)、常量、静态变量
  • 运行时常量池:主要就是 符号引用、字面量

而Java虚拟机规范也有许多的具体实现,其中最为出名的就是 HotSpot

jdk6 下的 HotSpot实现

jdk7(过渡版本)下的HotSpot实现

jdk8 下的 HotSpot实现

相关推荐
就叫飞六吧2 小时前
Docker Hub 上主流的nginx发行
java·nginx·docker
MiNG MENS2 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
2601_949814692 小时前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
小雅痞3 小时前
[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标
java·开发语言·leetcode
likerhood3 小时前
java中的不可变类(Immutable)
java·开发语言
步辞3 小时前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
weixin_424999363 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
yaoxin5211233 小时前
389. Java IO API - 获取文件名
java·开发语言·python
Polar__Star3 小时前
uni-app怎么实现App端一键换肤 uni-app全局样式动态切换【实战】
jvm·数据库·python
Wang15304 小时前
Java排序
java