认识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早期的版本方法区叫永久代,比较新的版本叫元空间

相关推荐
weixin_604236671 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春1 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
AI智图坊2 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
lizhihai_996 小时前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
云计算磊哥@6 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
黄同学real6 小时前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步20157 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯7 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结8 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON8 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙