认识JVM

初识jvm

什么是jvm

jvm本质上是一个运行在计算机上的程序,他的职责是运行java字节码文件

JVM的功能

01 解释和运行

对字节码文件中的指令,实时的解释成机器码,让计算机执行

02内存管理

自动为对象、方法等分配内存

自动的垃圾回收机制,回收不再使用的对象

03即时编译

对热点代码进行优化,提升执行效率

常见的JVM

常见的JVM:java虚拟机规范

《java虚拟机规范》由Oracle规定,内容主要包含了java虚拟机在设计和实现是需要遵守的规范,主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。

《java虚拟机规范》是对虚拟机设计的要求,而不是对java设计的要求,也就是说虚拟机可以运行在其他语言比如Groovy、Scala生成的class字节码文件之上。

官网地址:https//docs.oracle.com/javase/specs/index.html

常见的JVM -HotSpot的发展历程

字节码文件详解

java虚拟机的组成

字节码文件的组成

推荐使用工具jclasslib查看字节码文件

https://github.com/ingokegel/jclasslib/releases/tag/6.1

字节码文件的组成部分-magic魔数

字节码文件组成部分-版本号

官网https://arthas.aliyun.com/doc/

下载好之后是一个压缩包

使用java -jar 文件名.jar启动

jvm的组成

类的生命周期

生命周期概述

加载阶段

方法区只是比较虚的概念,java早期的版本方法区叫永久代,比较新的版本叫元空间

相关推荐
一只鹿鹿鹿44 分钟前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节
沫璃染墨1 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
Kobebryant-Manba1 小时前
C/S和B/S结构
运维·服务器
AI_Lab013 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
众壹新能源科技3 小时前
逆变器直流开关柜温度监测与预防:红外巡检发现3个120度热点
运维·人工智能·自动化
by209993 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
小羊没烦恼!3 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡
小Ti客栈3 小时前
Netty 零拷贝原理与实战
运维·服务器·网络
ai_coder_ai3 小时前
AIOps 智能运维架构设计及其应用
运维
静以修身zzz3 小时前
计算云服务
运维·网络·云计算