• G1 垃圾收集器

    G1 垃圾收集器是一种新型的垃圾收集器,专门针对大堆内存的应用程序进行优化,可以更好地处理大量对象的分配和释放,减少停顿时间,并帮助应用程序提高性能。G1 收集器是在 JDK 7 update 4 版本中首次推出的,在 Java 9 中正式成为默认的...
  • JVM 安全点

    JVM的安全点(Safepoint)是JVM执行垃圾回收时的一个重要概念。在JVM进行垃圾回收操作时,需要保证堆的一致性,因此需要挂起所有运行Java代码的线程并记录它们的状态。这些特定位置就被称为 安全点。> 安全点的作用 当一个线程处于安...
  • CMS 垃圾回收器

    CMS 的全称为 Concurrent Mark Sweep(并发标记清除),是 JDK1.5 版本之后内置的一种垃圾回收器。与其他垃圾回收器不同,CMS 的目标是实现最短的GC停顿时间,即使在大型堆内存的情况下也能保证应用的响应速度和性能。 注意 ...
  • Java 对象是否存活

    在JVM中,垃圾回收器会对内存中的对象进行生死判定,将无用的对象回收以释放内存空间。本篇博客将介绍JVM对象生死判定的过程。 算法 用来判定对象存亡的常用算法有两种:引用计数法、可达性分析算法。 引用计数法 引用计数法是最简单也是最基础的垃圾回...
  • JVM 垃圾回收算法

    与其他语言相比,Java有着自动内存管理的优势,即由JVM自动进行内存分配和垃圾回收处理。本篇博客将介绍JVM中的垃圾回收算法。 垃圾回收的基本概念 垃圾回收的目的是释放无用的内存空间以供后续的内存分配使用。JVM中使用垃圾回收器(Garbage ...
  • JVM - 运行时数据区

    JVM(Java Virtual Machine)是一个虚拟机,它是 Java 语言能够运行的关键所在。JVM 的结构包含了多个不同的组件,其中最重要的就是它的运行时数据区。 JVM 运行时数据区的概述 运行时数据区可以分为以下几个部分 程序计...
  • Java 对象的组成

    在JVM中,每个对象都由三个部分组成:对象头、实例变量和对齐填充。 组成部分 在JVM中,每个对象都由三个部分组成:对象头、实例变量和对齐填充。 对象头 对象头是存储在每个Java对象之前的一段内存空间,用于存储对象的元数据信息,包括以下内容:...
  • Java 对象的生命周期

    Java虚拟机(JVM)是一种能够在不同平台上运行Java程序的虚拟机。在JVM中,每个对象都有其自己的生命周期。本篇博客将介绍JVM对象的生命周期。 生命周期阶段 Java 对象的生命周期的几个阶段,分别为:对象的创建、使用、回收、销毁,下边逐个...
178910