学习JVM

java虚拟机

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

JVM功能

*解释和运行

*内存管理

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

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

jvm主要组成:

*类加载器,

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

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

字节码文件组成

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

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

基本信息

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

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

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

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

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

相关推荐
韩曙亮13 小时前
【人工智能】AI 人工智能 技术 学习路径分析 ① ( Python语言 -> 微积分 / 概率论 / 线性代数 -> 机器学习 )
人工智能·python·学习·数学·机器学习·ai·微积分
辞旧 lekkk13 小时前
【c++】封装红黑树实现mymap和myset
c++·学习·算法·萌新
LO嘉嘉VE14 小时前
学习笔记二十一:深度学习
笔记·深度学习·学习
代码游侠15 小时前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
雍凉明月夜16 小时前
视觉opencv学习笔记Ⅲ
笔记·opencv·学习
组合缺一16 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
python·学习·http
陈天伟教授16 小时前
机器学习方法(4)强化学习(试错学习)
人工智能·学习·机器学习
阿沁QWQ16 小时前
C/C++内存管理
jvm
代码游侠19 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法