JVM——学习导读

什么是 JVM?

JVM就是虚拟机,模拟计算机环境,加载.class文件,划分内存区域,将字节码解释为计算机能识别的机器码,是Java语言实现一处编译,到处运行的关键。

JDK、JRE、JVM

JDK 是 Java 语言的软件开发工具包。JDK 物理存在,是 programming tools、JRE 和 JVM 的一个集合。

JRE(Java Runtime Environment)Java 运行时环境,JRE 物理存在,主要由 Java API(java 类库) 和 JVM 组成,提供了用于执行 java 应用程序最低要求的环境。

JDK有编译器而JRE没有,但是只要有JRE我们就可以运行java程序,一些开发软件idea都有自己的编译器。

JRE有JVM没有的lib库,JVM对字节码的解析要依赖这些类库。

JVM结构

主要为三部分:类装载器子系统,运行时数据区,执行引擎。

类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。

执行引擎是java虚拟机的最核心组件之一,它负责执行虚拟机的字节码,现代虚拟机为了提高执行效率,会使用即时编译技术将方法编译成机器码后再执行。

运行时数据区主要时JVM虚拟机的内存结构体系,详见JVM——内存结构

编译和执行过程

JVM——学习导读_2020-04-01-14-11-26.png

JVM 学习体系

  1. 内存结构

  2. 类的加载机制

  3. 对象的创建

  4. GC 算法 垃圾回收

  5. GC 分析 命令调优

这些知识点在之后的文章中有详细的介绍,这里只做主干的梳理。

内存结构

JVM——内存结构

主要关注点:

  1. jvm 内存结构都是什么

  2. 对象分配规则

对象的创建

  1. 对象内存的分配方式

  2. 分配内存的线程安全问题

  3. 对象的内存分布

  4. 对象的访问定位

类的加载机制

JVM——类的加载机制

主要关注点:

  1. 什么是类的加载

  2. 类的生命周期

  3. 类加载器

  4. 双亲委派模型

GC 算法 垃圾回收

主要关注点:

  1. 对象存活判断

  2. GC 算法

  3. 垃圾回收器

GC 分析 命令调优

JVM——命令调优

主要关注点:

  1. GC 日志分析

  2. 调优命令

  3. 调优工具

文章目录
  1. 1. 什么是 JVM?
  2. 2. JDK、JRE、JVM
  3. 3. JVM结构
  4. 4. 编译和执行过程
  5. 5. JVM 学习体系
    1. 5.1. 内存结构
    2. 5.2. 对象的创建
    3. 5.3. 类的加载机制
    4. 5.4. GC 算法 垃圾回收
    5. 5.5. GC 分析 命令调优
|