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

相关推荐
wd5i8kA8i1 小时前
自研多线程 SSH 极速文件传输助手(附 GitHub 源码)
运维·ssh·github
Boop_wu2 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
m0_694845572 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
yangyanping201083 小时前
Go语言学习之对象关系映射GORM
jvm·学习·golang
菱玖3 小时前
SRC常见漏洞情况分类
运维·安全·安全威胁分析
码云数智-大飞3 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
SkyXZ~4 小时前
Jetson有Jtop,Linux有Htop,RDK也有Dtop!
linux·运维·服务器·rdkx5·rdks100·dtop
黑牛儿4 小时前
MySQL 索引实战详解:从创建到优化,彻底解决查询慢问题
服务器·数据库·后端·mysql
舒一笑5 小时前
一次“翻车”的部署,让我看清了技术、权力和职场的真相
运维·程序员·创业
杨云龙UP5 小时前
Oracle Data Pump实战:expdp/impdp常用参数与导入导出命令整理_20260406
linux·运维·服务器·数据库·oracle