【JVM虚拟机】

JVM虚拟机

一、JVM概述

JVM(Java Virtual Machine)是Java虚拟机的缩写,它是在物理计算机上模拟的计算机,用于执行Java字节码指令。

二、JVM运行流程

两个子系统为 类装载子系统 ClassLoader,执行引擎子系统 Execution engine;

类加载子系统:包含类加载器;根据给定的全限定类名装在class文件到运行时数据区的方法区;

执行引擎:包含即时编译器(JITCompiler)和垃圾回收器(Garbage Collector);执行class文件中的命令;

两个组件为 运行时数据区 Runtime data Area, 是jvm的内存;包含方法区,虚拟机栈,本地方法栈,堆,程序计数器;

本地接口 Native Interface 与本地方法库交互,与其他变成语言交互的接口;

程序执行之前需要先把 java 代码转换成字节码( class 文件), JVM 首先需要把字节码通过一定的方式 类加载器( ClassLoader ) 把文件加载到内存中 运行时数据区。字节码文件不能直接被底层操作系统执行,它是 JVM 的一套指令集规范,所以需要特定的命令解析器执行引擎将它翻译成底层系统指令再由cpu执行,而这个过程中需要调用其他语言的接口本地库接口来实现整个程序的功能

三、JVM特点

3.1 跨平台性

3.2 垃圾回收机制

相关推荐
wuminyu1 小时前
纯轻量级锁体系下C2编译器锁粗化和消除机制剖析
java·linux·c语言·jvm·c++
binqian2 小时前
【java】Java 两种锁机制与线程阻塞唤醒原理
jvm·spring boot·spring
香吧香12 小时前
java服务异常日志只打印异常类型,没有堆栈定位分析
java·jvm·异常
程序员黎剑13 小时前
JVM-元空间溢出-OutOfMemoryError-Metaspace排查与解决
jvm
11路没有终点20 小时前
Java 微服务性能调优:jstack/jmap/jstat 三剑客实战指南
jvm·性能测试
wuminyu1 天前
Markword在紧凑对象头上的实现原理剖析
java·linux·c语言·jvm·c++
Flynt2 天前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
用户094248568032 天前
第10章:OpenJDK异常体系、栈轨迹与错误诊断入门
java·jvm
杨杨杨大侠2 天前
Java 不再需要 JVM?一文看懂 GraalVM Native Image、Substrate VM 与 JDK
java·jvm·java ee
顺风尿一寸2 天前
从 ls -U 到 Tomcat libs加载jar包:ext4 目录哈希序如何影响 Java 文件排序顺序
linux·jvm