Carson带你学JVM:这是一份全面 & 详细的JVM学习指南
前言
该如何学习Java虚拟机(JVM)内容?今天Carson给你们奉上一份全面 & 详细的JVM学习指南。
学习内容
- Java虚拟机的内存结构
- Java对象:创建-存储-访问过程
- Java对象:如何判断存活原则(引用计数法 & 引用链法)
- 垃圾收集相关:垃圾回收算法、常见的垃圾收集器
- 类加载相关:类加载过程、类加载器(含双亲委派模型)
- 方法分派模型:静态分派、动态分派
知识点1:Java虚拟机的内存结构
Java
虚拟机在运行Java
程序时,会管理着一块内存区域:运行时数据区。在运行时数据区里,会根据用途进行划分:
Java
虚拟机栈(栈区)- 本地方法栈
Java
堆(堆区)- 方法区
- 程序计数器
针对每个内存模型分区介绍请看文章:Carson带你学JVM:图文解析Java虚拟机内存结构
知识点2:Java对象-创建、内存布局 & 访问定位
- 了解
Java
对象从被创建、存储 & 怎么被使用的整个过程十分重要 - 对应过程则是:对象创建、对象内存布局、对象访问定位的三个过程。
具体请看文章:Carson带你学JVM:Java对象的创建、内存布局 & 访问定位全过程解析
知识点3:Java对象:如何判断存活
- 垃圾收集器对 Java堆里的对象 是否进行回收的判断准则:Java对象是存活 or 死亡,只有判断对象为死亡才会进行回收;
- 在Java虚拟机中,判断对象是否存活有2种方法:引用计数法、引用链法(可达性分析法)
具体请看文章:Carson带你学JVM:Java对象如何判断存活原则-引用计数法 & 引用链法
知识点4:垃圾收集
主要包括:垃圾收集算法、垃圾收集器。
1. 垃圾回收算法
- 不同的内存区域采用不同的垃圾收集算法,而不同垃圾收集算法决定了垃圾收集的效率 & 效果;
- 垃圾收集算法 类型 分为4类,如下图:
具体请看文章:Carson带你学JVM:这是一份全面 & 详细的垃圾收集算法(GC)讲解攻略
2. 常见的垃圾收集器
垃圾收集器 是 垃圾收集算法 的具体实现,现在主流的垃圾收集器有 7 种:
具体请看文章:Carson带你学JVM:常见的垃圾收集器学习指南
知识点5:类加载
主要包括:类加载过程、类加载器(含双亲委派模型)
1. 类加载过程
分为五个步骤:加载 -> 验证 -> 准备 -> 解析 -> 初始化,具体如下:
具体请看文章:Carson带你学JVM:类加载的全过程解析
2. 类加载器
- 类加载器的作用是:实现类加载的功能 & 确定被加载类在 Java虚拟机中 的唯一性
- 类型主要包括:启动类加载器、扩展类加载器、应用程序类加载器
具体请看文章:Carson带你学JVM:你真的了解类加载器吗?(含双亲委派模型)
知识点6:方法分派模型
- 方法分派即指:确定执行哪个方法的过程;
- 类型:静态分派 & 动态分派
具体请看文章:Carson带你学JVM:方法分派模型-静态分派、动态分派
至此,关于Java虚拟机(JVM)的学习内容讲解完毕。Carson带你学JVM系列文章,具体如下:
Carson带你学JVM系列文章,具体如下: Carson带你学JVM:图文解析Java虚拟机内存结构 Carson带你学JVM:Java对象的创建、内存布局 & 访问定位全过程解析 Carson带你学JVM:Java对象如何判断存活原则-引用计数法 & 引用链法 Carson带你学JVM:这是一份全面 & 详细的垃圾收集算法(GC)讲解攻略 Carson带你学JVM:常见的垃圾收集器学习指南 Carson带你学JVM:类加载的全过程解析 Carson带你学JVM:你真的了解类加载器吗?(含双亲委派模型) Carson带你学JVM:方法分派模型-静态分派、动态分派
相关文章
- Jease 2.6发布 Java开源内容框架
- JVM调优总结:反思
- JVM调优总结:调优方法
- JVM调优总结:新一代的垃圾回收算法
- JVM调优总结:典型配置举例
- JVM调优总结:分代垃圾回收详述
- JVM调优总结:垃圾回收面临的问题
- JVM调优总结:基本垃圾回收算法
- JVM调优总结:一些概念
- 用Java GUI编写的画板程序
- Java的动态绑定机制
- jOOQ 2.0.2发布 Java的ORM框架
- Java中带复选框的树的实现和应用
- Java网络编程菜鸟进阶:TCP和套接字入门
- 甲骨文与谷歌专利权之争定于今年三月开审
- Java调用C/C++编写的第三方dll动态链接库
- 集成开发环境 NetBeans IDE 7.1正式版发布
- kangle 2.7.5紧急发布 防hash碰撞攻击
- 东方通技术引领模式为国产软件“争权”
- UML中关联,组合与聚合等关系的辨析