学习JVM

java虚拟机

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

JVM功能

*解释和运行

*内存管理

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

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

jvm主要组成:

*类加载器,

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

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

字节码文件组成

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

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

基本信息

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

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

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

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

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

相关推荐
前路不黑暗@6 小时前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
崎岖Qiu6 小时前
【计算机网络 | 第十一篇】图解交换机的自学习功能
网络·学习·计算机网络
科技林总6 小时前
【系统分析师】8.0 项目管理
学习
浅念-7 小时前
C++ string类
开发语言·c++·经验分享·笔记·学习
Purple Coder7 小时前
基于神经网络的家教系统
学习
victory04319 小时前
LangChain + LangGraph 学习路径
学习·langchain
专业开发者9 小时前
Wi-Fi 技术学习:Wi-Fi 射频设计核心原则 —— 只覆盖你想要的区域
学习
星火开发设计12 小时前
序列式容器:deque 双端队列的适用场景
java·开发语言·jvm·c++·知识
码农葫芦侠12 小时前
Rust学习教程2:基本语法
开发语言·学习·rust
LYS_061813 小时前
c++学习(1)(编译过程)
c++·学习