学习JVM

java虚拟机

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

JVM功能

*解释和运行

*内存管理

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

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

jvm主要组成:

*类加载器,

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

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

字节码文件组成

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

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

基本信息

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

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

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

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

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

相关推荐
松涛和鸣23 分钟前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
2501_941111403 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
麦兜*4 小时前
Redis内存消耗异常飙升?深入排查与Big Key/Hot Key的根治方案
jvm·数据库·spring boot·redis·spring·缓存
Q***f6355 小时前
后端消息队列学习资源,RabbitMQ+Kafka
学习·kafka·rabbitmq
2501_941111825 小时前
使用Python进行网络设备自动配置
jvm·数据库·python
循环过三天5 小时前
7.7、Python-常用内置函数
笔记·python·学习
烤麻辣烫6 小时前
23种设计模式(新手)-5里氏替换原则
java·学习·设计模式·intellij-idea·里氏替换原则
AA陈超7 小时前
ASC学习笔记0007:用于与GameplayAbilities系统交互的核心ActorComponent
c++·笔记·学习·ue5·虚幻引擎
2501_941111248 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python