【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 垃圾回收机制

相关推荐
小马爱打代码8 小时前
Minor GC与Full GC分别在什么时候发生?
jvm
alden_ygq12 小时前
当java进程内存使用超过jvm设置大小会发生什么?
java·开发语言·jvm
多敲代码防脱发15 小时前
导出导入Excel文件(详解-基于EasyExcel)
java·开发语言·jvm·数据库·mysql·excel
北漂老男孩18 小时前
JVM对象头中的锁信息机制详解
jvm
黄雪超18 小时前
JVM——方法内联之去虚化
java·开发语言·jvm
xinxiyinhe19 小时前
内存泄漏与OOM崩溃根治方案:JVM与原生内存池差异化排查手册
java·开发语言·jvm
PgSheep1 天前
深入理解 JVM:StackOverFlow、OOM 与 GC overhead limit exceeded 的本质剖析及 Stack 与 Heap 的差异
jvm·面试
意倾城1 天前
JVM 如何优化 31 * x 为 (x << 5) - x?
java·jvm
LUCIAZZZ1 天前
JVM之内存管理(一)
java·jvm·spring·操作系统·springboot
小王努力学编程2 天前
高并发内存池(三):TLS无锁访问以及Central Cache结构设计
jvm·数据结构·c++·学习