JVM根本

[复制链接]
发表于 2026-1-19 12:05:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次
JVM构成部门
字节码
一样平常信息
常量池
方法
口试常见题目
查察字节码的工具
javap(实用于步伐摆设后)
jclasslib插件(实用于本地调试)
arthas(实用于步伐处于运行中利用)
arthas的安装
查察 dashboard
dump查察字节码
jad查察原代码
类的生命周期
类加载
毗连
验证
准备
分析
初始化
初始化的内容
触发类初始化的时机
不会触发初始化的情况
类加载器
类加载器的分类
利用arthas查察步伐中类加载器的情况
启动类加载器
拓展类加载器与应用步伐加载器
双亲委派机制
口试:类的双亲委派机制是什么?
突破双亲委派机制的三种方式
自界说类加载器​编辑
线程上下文类加载器
利用阿里arthas不绝机办理线上题目
JDK9后加载器的变革
运行时数据区
步伐计数器
Java假造机栈
栈帧
局部变量表
利用数栈
帧数据---动态链接
帧数据---方法出口
帧数据---非常表
内存溢出与假造机栈的巨细设置
本地方法栈
堆
方法区
intern() 
直接内存
主动垃圾接纳器
方法区的接纳
堆接纳
垃圾标记算法
几种对象引用
垃圾接纳算法
垃圾接纳器
底部




JVM构成部门


字节码

字节码文件的查察工具:https://github.com/ingokegel/jclasslib

一样平常信息




JDK与字节码版本不兼容报错非常如下:


常量池


方法


口试常见题目




   i++时,i的值为0;而++1时,i的值为1
  1. public class A {
  2.     public static void main(String[] args) {
  3.         int i = 0, j = 0, k = 0;
  4.         i++;
  5.         j = j + 1;
  6.         k += 1;
  7.     }
  8. }
复制代码

查察字节码的工具

javap(实用于步伐摆设后)



jclasslib插件(实用于本地调试)


arthas(实用于步伐处于运行中利用)


下载 | arthas (aliyun.com)
https://arthas.aliyun.com/doc/download.html

arthas的安装

安装请按照官方文档实行
快速入门 | arthas (aliyun.com)
https://arthas.aliyun.com/doc/quick-start.html#_1-%E5%90%AF%E5%8A%A8-math-game

查察 dashboard

dashboard | arthas (aliyun.com)
https://arthas.aliyun.com/doc/dashboard.html

dump查察字节码


jad查察原代码


类的生命周期


类加载

   类加载器将类的信息加载到内存中,jvm在方法区和堆区各分配一个对象,用于生存类的信息
  







毗连


验证



准备


分析


初始化

初始化的内容





触发类初始化的时机





不会触发初始化的情况






类加载器




类加载器的分类




利用arthas查察步伐中类加载器的情况


启动类加载器




拓展类加载器与应用步伐加载器





双亲委派机制







口试:类的双亲委派机制是什么?


突破双亲委派机制的三种方式


自界说类加载器








线程上下文类加载器




利用阿里arthas不绝机办理线上题目



JDK9后加载器的变革


运行时数据区


步伐计数器


Java假造机栈



栈帧


局部变量表






利用数栈


帧数据---动态链接


帧数据---方法出口


帧数据---非常表


内存溢出与假造机栈的巨细设置



本地方法栈


堆









方法区











intern() 






直接内存




主动垃圾接纳器


方法区的接纳




观察类被加载和卸载


堆接纳


垃圾标记算法








几种对象引用















垃圾接纳算法












垃圾接纳器






















底部







回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表