做的美食视频网站,新手小白怎样运营1688店铺,他达拉非能治好性功能障碍吗,去菲律宾做it网站开发目录 1- 引言#xff1a;初识JVM1-1 JVM是什么#xff1f;(What)1-1-1 概念1-1-2 优点 1-2 为什么学习JVM?(Why) 2- 核心#xff1a;JVM工作的原理#xff08;How#xff09;⭐2-1 JVM 的组成部分及工作流程2-2 学习侧重点 3- 小结(知识点大纲)#xff1a;3-1 JVM 组成3… 目录 1- 引言初识JVM1-1 JVM是什么(What)1-1-1 概念1-1-2 优点 1-2 为什么学习JVM?(Why) 2- 核心JVM工作的原理How⭐2-1 JVM 的组成部分及工作流程2-2 学习侧重点 3- 小结(知识点大纲)3-1 JVM 组成3-2 类加载器3-3 垃圾回收3-4 JVM实践 1- 引言初识JVM
1-1 JVM是什么(What)
1-1-1 概念
Java Virtual Machine JAVA运行时环境java 二进制字节码的运行环境Java 的二进制字节码的运行环境。我们都知道 Java 代码想要运行的话就必须得先经过编译之后编译成 .class 文件才能运行JVM就是 .class 二进制字节码的运行环境。
1-1-2 优点
一次编译到处执行
JVM实现一次编译到处运行的原理是通过屏蔽操作系统的差异来实现的。具体来说Java代码编译成二进制字节码后这些字节码在不同操作系统上的JVM中都可以运行。JVM作为一个软件层运行在操作系统上无论是 Windows 还是 Linux真正运行 Java 代码的是JVM 而不是操作系统。因此JVM 使得 Java 能够跨平台执行实现了“一次编写到处运行”。 自动内存管理垃圾回收机制
JVM的第二个优点是自动内存管理和垃圾回收机制。与C语言需要程序员手动管理内存不同Java虚拟机通过自动垃圾回收功能大大减轻了程序员的负担减少了内存泄漏的风险从而提高了程序的稳定性和开发效率。 1-2 为什么学习JVM?(Why)
学习 JVM 以便我们能够 深入理解Java一旦掌握了 JVM也就知道了 Java 的运行机制特别对于排查问题的能力将会有大幅度提升。 ① 了解 JAVA 运行机制② 提升排查问题的能力内存泄漏、CPU飙升等 2- 核心JVM工作的原理How
⭐2-1 JVM 的组成部分及工作流程 Java源代码到类加载子系统
⭐作用: 将Java源代码转化为JVM能够理解和执行的格式并将这些格式正确加载到JVM中。
Java Source (Java源代码)编写的 Java 源代码文件通常以 .java 为扩展名。Java Class (Java类文件)通过Java编译器javac将Java源代码编译成字节码文件通常以 .class 为扩展名。类加载子系统负责将编译后的 .class 文件加载到 JVM 中进行加载、验证、准备、解析和初始化。类加载子系统的作用是将 .class 文件转换为 JVM 可以执行的内部表示并将其放入运行时数据区。 运行时数据区
⭐作用: 运行时数据区是JVM在执行Java程序时所需的内存区域包含了程序执行过程中所需的数据和信息。
Method Area/MetaSpace (方法区/元空间)存储类结构信息如运行时常量池、字段和方法数据、方法和构造函数的字节码内容。Heap (堆)用于存储对象实例和数组是垃圾回收的主要区域。PC Register (程序计数器)记录当前线程正在执行的字节码指令地址。JVM Stacks (虚拟机栈)每个线程私有用于存储局部变量、操作数栈、动态链接和方法调用等信息。Native Method Stack (本地方法栈)每个线程私有用于存储本地方法调用的信息。 执行引擎
⭐作用: 执行引擎负责将字节码转换为机器码并执行确保Java程序高效运行并通过垃圾回收机制管理内存。
Interpreter (解释器)逐行解释执行字节码指令将每条字节码指令翻译成相应的机器码并执行。JIT Compiler (即时编译器)将热点代码频繁执行的代码段编译成机器码提高执行效率。GC (垃圾回收)负责自动回收不再使用的对象释放内存空间防止内存泄漏。 本地方法接口和本地库
⭐作用 本地方法接口和本地库使Java程序能够调用和执行平台相关的功能和库扩展了Java的能力使其可以与底层系统进行交互。
本地方法接口 (JNI)允许Java代码调用本地通常是 C 或 C代码提供与操作系统或其他底层库的接口。本地库 (Native Libraries)提供本地方法实现的库文件通常以动态链接库如.dll、.so的形式存在。 2-2 学习侧重点
对于 JVM 组成主要关注 JVM 的运行时数据区。类加载器类加载子系统中的类加载器垃圾回收运行时数据区堆中对象的回收JVM实践
3- 小结(知识点大纲)
3-1 JVM 组成 3-2 类加载器 3-3 垃圾回收 3-4 JVM实践