您当前的位置: 首页 >  Java

Kevin-Dev

暂无认证

  • 0浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java -- 虚拟机】一份详细的 JVM 学习指南

Kevin-Dev 发布时间:2020-03-20 14:45:33 ,浏览量:0

前言

该如何学习Java虚拟机(JVM)内容?今天 Kevin 给大家奉上一份详细的 JVM 学习指南。

思维导图

推荐书籍: 《深入理解java虚拟机》

在这里插入图片描述

知识点1:Java 虚拟机的内存结构

Java 虚拟机在运行 Java 程序时,会管理着一块内存区域:运行时数据区。在运行时数据区里,会根据用途进行划分:

  1. Java虚拟机栈(栈区)
  2. 本地方法栈
  3. Java堆(堆区)
  4. 方法区
  5. 程序计数器

具体请看文章:【Java – 虚拟机】图文解析内存结构

知识点2:Java 对象-创建、内存布局 & 访问定位
  • 了解 Java 对象从被创建、存储 & 怎么被使用的整个过程十分重要
  • 对应过程则是:对象创建、对象内存布局、对象访问定位的三个过程。

具体请看文章:【Java – 虚拟机】Java对象的创建、内存布局 & 访问定位

知识点3:Java对象:如何判断存活
  • 垃圾收集器对 Java堆里的对象 是否进行回收的判断准则:Java对象是存活 or 死亡,只有判断对象为死亡才会进行回收;
  • 在Java虚拟机中,判断对象是否存活有2种方法:引用计数法、引用链法(可达性分析法)

具体请看文章:【Java – 虚拟机】引用计数法 & 引用链法

知识点4:垃圾收集算法(GC)
  • 垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。

具体请看文章:【Java – 虚拟机】垃圾收集算法(GC)

知识点5:常见的垃圾收集器

垃圾收集器 是 垃圾收集算法 的具体实现。

具体请看文章:【Java – 虚拟机】常见的垃圾收集器

知识点6:类加载

主要包括:类加载过程、类加载器(含双亲委派模型)

1. 类加载过程 分为五个步骤:加载 -> 验证 -> 准备 -> 解析 -> 初始化,具体如下: 在这里插入图片描述 具体请看文章:【Java – 虚拟机】类加载全过程

2. 类加载器

  • 类加载器的作用是:实现类加载的功能 & 确定被加载类在 Java虚拟机中 的唯一性
  • 类型主要包括:启动类加载器、扩展类加载器、应用程序类加载器

具体请看文章:【Java – 虚拟机】类加载器(含双亲委派模型)

知识点7:方法分派模型
  • 方法分派即指:确定执行哪个方法的过程;
  • 类型:静态分派 & 动态分派

具体请看文章:【Java – 虚拟器】方法分派模型 – 静态分派、动态分派

关注
打赏
1658837700
查看更多评论
立即登录/注册

微信扫码登录

1.4201s