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

相关推荐
心勤则明14 小时前
JVM(Java虚拟机)运行时数据区
java·jvm·chrome
gogogo出发啦1 天前
JVM快速入门
linux·运维·jvm
虎鲸不是鱼1 天前
记一次借助Eclipse MAT排查OOM
java·jvm·ide·eclipse·gc
遗憾皆是温柔1 天前
3.JVM,JRE和JDK的关系是什么
java·开发语言·jvm·面试
熬夜学习。2 天前
JVM相关知识
jvm
hqxstudying2 天前
Java开发时出现的问题---语言特性与基础机制陷阱
java·jvm·python
极光雨雨2 天前
JVM中年轻代、老年代、永久代(或元空间)、Eden区和Survivor区概念介绍
java·jvm
麦兜*3 天前
Spring Boot 整合量子密钥分发(QKD)实验方案
java·jvm·spring boot·后端·spring·spring cloud·maven
崎岖Qiu3 天前
【JVM篇13】:兼顾吞吐量和低停顿的G1垃圾回收器
java·jvm·后端·面试
-Xie-4 天前
JVM学习日记(十三)Day13
jvm·学习