01-JVM概述和监控工具的使用

什么是 JVM

JVM 是 Java 二进制字节码(.class)的运行环境(JRE)的一部分

JVM 的优点

  • Java 跨平台的基础,屏蔽底层操作系统的差异
  • 自动的垃圾回收机制 GC
  • 数组下标越界检查(不会像 C 语言一样覆盖越界空间)

JVM、JRE、JDK 的关系

  • JRE是Java Runtime Environment(Java运行时环境)的简称, 包括JVM虚拟机和Java基础类库, 为编译好的Java程序(.class字节码文件)提供运行环境.
  • JDK是Java Development Kit(Java开发工具包)的简称, 不仅包括JRE, 而且包括编译Java源文件(.java)所需的编译器和各种调试分析的工具.
  • JRE提供给想运行Java程序的用户使用; JDK提供给Java开发者使用

image-20230606163851306

学习路线

image-20230606164508042

  1. 类通过 ClassLoader(类加载器)加载到内存中
  2. 类模板(元数据 Class)存放在方法区 Method Area 中
  3. 类对象存放在堆 Heap 中
  4. 当对象调用方法时,需要使用到虚拟机栈(JVM Stacks)、程序计数器(PC Register)、本地方法栈(Native Method Stacks)
  5. 代码的逐行执行需要使用到解释器(解释器:将字节码指令翻译成0101的机器码供CPU执行)
  6. 对于热点代码会使用即时编译器(JIT)进行优化
  7. 垃圾回收GC会自动回收一些不被引用的对象
  8. 本地方法接口用于实现一些 Java 代码不方便实现的功能,涉及操作系统底层,使用 C 语言进行实现

学习顺序

  1. JVM 内存结构:堆、栈、方法区等
  2. GC 垃圾回收机制
  3. 前端编译器的优化(.java到.class)
  4. 字节码文件、类加载器
  5. 运行时的 JIT 优化

JVM 监控工具的使用

使用 System.in.read() 来阻塞应用程序


   转载规则


《01-JVM概述和监控工具的使用》 熊水斌 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
NLP概述 NLP概述
NLP 概述自然语言处理系统常常被称为“流水线”(pipeline),这是因为该系统往往包括多个处理环节,其中自然语言从“流水线”的一端输入,处理后的结果从另一端输出。 语音识别 语言到文本 语音生成 文本到语音
2023-03-20
下一篇 
AQS队列同步器 AQS队列同步器
Node 节点class Node { // static final 修饰的常量 static final Node SHARED = new Node(); static final Node EXCLUSIVE
2023-03-20
  目录