JVM内核解读

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM内核解读相关的知识,希望对你有一定的参考价值。

JVM是Java Virtual Machine(Java虚拟机)的缩写,这里要分清的是,JVM与java语言是相对独立的,也就是说只要有符合java语言规范的虚拟机也可以运行java语言。

 

1.JVM的启动流程

技术分享

2.JVM基本结构

技术分享

PC寄存器:

1.每个线程拥有一个PC寄存器

2.在线程创建时创建

3.指向下一条指令的地址

4.执行本地方法时,PC的值为undefined

 

方法区:

1.保存装载的类信息

  类型的常量池

  字段,方法信息

  方法字节码

2.通常和永久区(perm)关联在一起

jdk1.6 String等常量信息置放于方法区

jdk1.7 移动到堆

 

java堆:

1.和程序开发密切相关

2.保存应用系统对象

3.所有线程共享

4.对分代GC(垃圾回收)来说,堆也是分代的

5.GC主要工作区间

技术分享

 

java栈:

1.线程私有

2.由一系列帧组成(因此也称作帧栈)

3.帧保存一个方法的局部变量,操作数栈,常量池指针

4.每一个方法调用创建一个帧,并压栈

 

技术分享

 3.堆栈方法交互

技术分享

以上是关于JVM内核解读的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo内核源码调试与解读(上)

Laravel核心解读--HTTP内核

内核解读之内存管理开篇介绍

内核解读之内存管理开篇介绍

v84.01 鸿蒙内核源码分析(TLFS算法篇) | 图表解读TLFS原理 | 百篇博客分析OpenHarmony源码

解读鸿蒙轻内核的监控器:异常钩子函数