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

相关推荐
2601_949817723 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
不爱编程的小陈5 小时前
操作系统内存管理 —— 虚拟内存
jvm
大阿明10 小时前
C++智能指针与RAII机制精讲:彻底根治内存泄漏与野指针
java·jvm·c++
一生了无挂11 小时前
C++面向对象核心精讲:类、对象、封装、权限与生命周期全解析
java·jvm·c++
老毛肚1 天前
juc线程通信
java·开发语言·jvm
不会就选b1 天前
Linux之进程(七)--虚拟地址空间
jvm
思麟呀2 天前
在C++基础上理解CSharp-7
java·jvm·c++·c#
头茬韭菜2 天前
3.9 成本预警 — 退出钩子、$5 阈值对话框与多通道成本通知
java·大数据·jvm·ai
并不喜欢吃鱼2 天前
从零开始 C++----- 十五.一文吃透 C++ 异常:try-catch、栈展开、自定义异常、异常安全 noexcept 底层全剖析
java·开发语言·jvm
重生之我是Java开发战士2 天前
【Java SE】认识JVM:内存区域划分、类加载机制与GC
java·开发语言·jvm