学习JVM

java虚拟机

流程:helloworld.java ----(javac编译)----helloworld.class -------(java运行)------JVM ------机器码

JVM功能

*解释和运行

*内存管理

*即时编译(跨平台-慢一点)jit

(反复用到的代码 解释保存再内存里面)

jvm主要组成:

*类加载器,

*运行时数据区(jvm管理的内存),

*执行引擎(即时编译器,解释器,垃圾回收器)

字节码文件组成

工具 :notepad++是不可以的 工具用 jclasslib

组成:基本信息,常量池,字段,方法,属性

基本信息

1, magic(魔数):确认是字节码文件(前缀固定0xcofe base)

2,主版本号 : (-44就等于jdk)-可以确定运行jdk和编译的版本是否一致

常量池 避免重复内容的重复定义,浪费空间

*常量池的数据都有一个编号

*字节码指令中提高编号引用常量池的过"符合引用"
方法

相关推荐
BreezeJuvenile1 天前
外设模块学习(15)——MQ-2烟雾气体传感器(STM32)
stm32·单片机·学习·mq-2·烟雾气体传感器
XH1.1 天前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习
2301_796512521 天前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust
故里21301 天前
学习前端记录(二)21-40
学习
ThreeYear_s1 天前
电力电子技术学习路径与FPGA/DSP技术结合方向(gemini生成)
学习·fpga开发
好奇龙猫1 天前
【生活相关-日语-日本-入国&出国-海关&市役所(4)-办理手续】
学习·生活
sendnews1 天前
红松小课如何成为激活老年人生活的新引擎?从兴趣学习到价值重塑!
学习·生活
The_Second_Coming1 天前
ELK 学习笔记
笔记·学习·elk
wdfk_prog1 天前
[Linux]学习笔记系列 -- [kernel][time]timekeeping
linux·笔记·学习
2301_796512521 天前
Rust编程学习 - 如何理解Rust 语言提供了所有权、默认move 语义、借用、生命周期、内部可变性
java·学习·rust