学习JVM

java虚拟机

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

JVM功能

*解释和运行

*内存管理

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

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

jvm主要组成:

*类加载器,

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

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

字节码文件组成

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

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

基本信息

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

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

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

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

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

相关推荐
宇木灵6 小时前
C语言基础-十、文件操作
c语言·开发语言·学习
扶苏瑾9 小时前
线程安全问题的产生原因与解决方案
java·开发语言·jvm
QQ24391979 小时前
语言在线考试与学习交流网页平台信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·spring boot·sql·学习·java-ee
百锦再11 小时前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka
The_Uniform_C@t211 小时前
论文浅读(第三期)|摘自《UAV Resilience Against Stealthy Attacks》(第一节)
网络·物联网·学习·网络安全
青衫码上行11 小时前
高频 SQL 50题(基础版)| 查询 + 连接
数据库·sql·学习·mysql
宇木灵12 小时前
C语言基础学习-X0前置
c语言·开发语言·学习
攒了一袋星辰12 小时前
JVM类加载过程
运维·服务器·jvm
希望之晨12 小时前
c++ 11 学习 override
开发语言·c++·学习
学编程的闹钟12 小时前
E语言组件开发全攻略
学习