学习JVM

java虚拟机

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

JVM功能

*解释和运行

*内存管理

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

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

jvm主要组成:

*类加载器,

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

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

字节码文件组成

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

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

基本信息

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

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

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

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

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

相关推荐
敲敲了个代码3 小时前
从硬编码到 Schema 推断:前端表单开发的工程化转型
前端·javascript·vue.js·学习·面试·职场和发展·前端框架
我命由我123455 小时前
SVG - SVG 引入(SVG 概述、SVG 基本使用、SVG 使用 CSS、SVG 使用 JavaScript、SVG 实例实操)
开发语言·前端·javascript·css·学习·ecmascript·学习方法
Fern_blog7 小时前
鸿蒙学习之路
学习
小智RE0-走在路上8 小时前
Python学习笔记(11) --数据可视化
笔记·python·学习
Asus.Blogs10 小时前
SSE + Resty + Goroutine + Channel 完整学习笔记
笔记·学习·golang
charlie11451419111 小时前
Git团队协作完全入门指南(上)
笔记·git·学习·教程·工程
迷茫的启明星11 小时前
Git命令学习
git·学习
高山上有一只小老虎11 小时前
使用Memory Analyzer (MAT)分析内存溢出
java·jvm
全栈陈序员12 小时前
说说你对 Vue 的理解
前端·javascript·vue.js·学习·前端框架