字节码文件

内容 a84b0843f4a68d98e0cd0bbd289bac5bd38c851b
魔数 d93b701b2e86ac49c282879987bfd3ec157fd6cb
主副版本号

833ae8050a092b18853e78ab8c2e6549ffc39b63

作用:判断版本以更改正确的版本

5ab13d994b1828d980374303de063f408d1f70db

高版本可以加载低版本,但是很多用法会不一样,

如果是一个已经存在10年的项目,想从jdk8升级到jdk17,很难的

解决方法: 升级jdk(一般兼容)/降低依赖版本(better)

基本信息总结 96717980243baac437976f24dd65b8156e98877c
常量池

问:为什么String常量不直接存放字面量值?

答:字段名和字段值都是通过索引指向字符串字面量,节省开支

What?

0934cf828cea424a7a16fc578a9521a9d7fd2191

运行时常量池:当类加载器(ClassLoader)把 .class 文件读进 JVM 时,

虚拟机会从字节码中提取这张“常量词典”,然后放入内存的一个区域,

称为 运行时常量池.

a3b4d5a3e00fab8976824cd3b3b9fdf69a0e18a4

方法

eb99c1f03289293d48217e5157b2feb6d2e18055

i++和k+=2效率一样高 直接INC操作LVT

常用工具
  1. javap

43c82202884ccb4bba5038a15dd46c71d4281b51

2.jclasslib

3.arthas

07d2a4fbb0617d94ce05fd7ed3cd2e2c1fc840c8

新接受请求

6e2bcbc9ef4b4629e09b8499714a6699f863be44