JVM核心知识
2022-03-11 本文已影响0人
MobotStone
1、JVM启动模式
jvm 有两种启动模式:Client 模式、Server 模式。
-
Client 模式:加载速度较快。可以用于运行 GUI 交互程序。
-
Server 模式:加载速度较慢但运行起来较快。可以用于运行服务器后台程序。
如果需要调整,可以把 client 设置为 KNOWN,并调整到 server 前面。
-
JVM 默认在 Server 模式下,-Xms128M、-Xmx1024M
-
JVM 默认在 Client 模式下,-Xms1M、-Xmx64M
2、JVM结构和执行器
-
Class Loader:类装载器是用于加载类文件的一个子系统,其主要功能有三个:loading(加载),linking(链接),initialization(初始化)。
-
JVM Memory Areas:方法区、堆区、栈区、程序计数器。
-
Interpreter(解释器):通过查找预定义的 JVM 指令到机器指令映射,JVM 解释器可以将每个字节码指令转换为相应的本地指令。它直接执行字节码,不执行任何优化。
-
JIT Compiler(即时编译器):为了提高效率,JIT Compiler 在运行时与 JVM 交互,并适当将字节码序列编译为本地机器代码。典型地,JIT Compiler 执行一段代码,不是每次一条语句。优化这块代码,并将其翻译为优化的机器代码。JIT Compiler是默认开启