`

java基础 GC整理

    博客分类:
  • java
阅读更多

HotSpot是较新的Java虚拟机技术,用来代替JIT技术,可以大大提高Java运行的性能

HotSpot 使用的GC 

GC 即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。

1.1.引用计数

  引用计数存储对特定对象的所有引用数,也就是说,当应用程序创建引用以及引用超出范围时,jvm必须适当增减引用数。当某对象的引用数为0时,便可以进行垃圾收集。

  1.2.对象引用遍历

  早期的jvm使用引用计数,现在大多数jvm采用对象引用遍历。对象引用遍历从一组对象开始,沿着整个对象图上的每条链接,递归确定可到达(reachable)的对象。如果某对象不能从这些根对象的一个(至少一个)到达,则将它作为垃圾收集。在对象遍历阶段,gc必须记住哪些对象可以到达,以便删除不可到达的对象,这称为标记(marking)对象。

  下一步,gc要删除不可到达的对象。删除时,有些gc只是简单的扫描堆栈,删除未标记的未标记的对象,并释放它们的内存以生成新的对象,这叫做清除(sweeping)。这种方法的问题在于内存会分成好多小段,而它们不足以用于新的对象,但是组合起来却很大。因此,许多gc可以重新组织内存中的对象,并进行压缩(compact),形成可利用的空间。

  为此,gc需要停止其他的活动活动。这种方法意味着所有与应用程序相关的工作停止,只有gc运行。结果,在响应期间增减了许多混杂请求。另外,更复杂的gc不断增加或同时运行以减少或者清除应用程序的中断。有的gc使用单线程完成这项工作,有的则采用多线程以增加效率。

      2.几种垃圾回收机制

      .引用计数收集器  跟踪收集器   压缩收集器  拷贝收集器 按代收集的收集器  

       自适应收集器

       火车算法 垃圾回收机制 结合了 各种 垃圾回收机制  HotSpot 采用类似的

       本质上垃圾回收机制是  JVM 虚拟机运行的program  中1个处理机制 此功能 一直在更新了 保证了我们在java JVM 的稳健运行 

 

收尾:每个类都有一个特殊的方法finalizer,它不能被直接调用,而被JVM在适当的时候调用,通常用来处理一些清理资源的工作,因此称为收尾机制

分享到:
评论

相关推荐

    java学习笔记,java基础知识整理

    ### Java学习笔记——Java基础知识整理 #### 一、Java技术入门 Java是一种广泛使用的编程语言,因其跨平台性、安全性和高效性而受到青睐。Java最初由Sun Microsystems开发,并于1995年首次发布。 ##### 1. Sun ...

    java基础面试考察点.pdf

    Java 基础面试考察点 Java 基础面试考察点是 Java 开发人员必须掌握的知识点,涵盖了 Java 基础知识、多线程、JVM 相关知识点等几个方面。 Java 基础知识点 1. Java 内部集合类:ArrayList 和 LinkedList 的区别...

    JAVA核心面试知识整理.pdf

    Java核心面试知识整理包括了对JVM内存区域、...总结而言,这份面试知识点整理为Java开发者提供了一个全面、系统的复习框架,帮助面试者巩固和加深对Java核心技术的理解,以便在面试中展现出扎实的理论基础和实践能力。

    Java核心知识整理.pdf

    Java核心知识整理 Java是一种广泛使用的面向对象编程语言,它具有跨平台、对象导向、简单易学等特点。...以上是Java核心知识的主要组成部分,对于Java工程师来说,掌握这些知识点是构建高质量Java应用的基础。

    java笔试试题整理

    1. **Java基础**:首先,你需要熟悉Java的基础语法,包括变量、数据类型、运算符、流程控制(如if-else,switch,for,while循环)、数组以及方法的定义与调用。 2. **类与对象**:理解面向对象编程(OOP)的概念是...

    JAVA核心面试知识点整理

    Java是目前企业开发中最常用的编程语言之一,Java面试知识点涵盖了Java语言的方方面面,包括Java基础知识、Java高级知识、Java设计模式、Java框架等等。以下是Java核心面试知识点的整理。 一、JVM JVM(Java ...

    java面试题整理集合

    1. **Java基础** - **数据类型**:Java有两大类数据类型,基本数据类型(如int、char)和引用数据类型(如类、接口、数组)。理解它们的区别和用法是基础。 - **运算符**:包括算术、比较、逻辑和位运算符,掌握...

    Java的GC机制探微.pdf

    GC的主要目标是识别并回收不再使用的对象,以避免内存泄漏,并整理堆内存,防止碎片产生,从而确保Java应用程序的稳定性和性能。 首先,Java中的对象都是在堆内存中分配的,当一个对象不再被任何引用指向,即成为...

    JAVA核心知识整理.pdf

    ### JAVA核心知识整理 ...以上内容覆盖了JAVA核心知识整理中的关键知识点,包括JVM的基础知识、垃圾回收机制、引用类型、GC垃圾收集器的选择、IO/NIO模型及其实现、类加载机制以及常见的集合类等。

    java常用技术整理-基础架构方面.rar

    这份"java常用技术整理-基础架构方面.rar"的压缩包文件很可能包含了一系列关于Java基础架构技术的文章、笔记或教程,旨在帮助开发者系统地学习和掌握这些知识。 首先,Java的基础架构涉及JVM(Java虚拟机)。JVM是...

    JAVA面试题整理版,挺全的东西

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,...这本整理版的面试题集全面地覆盖了Java开发者的必备技能,无论你是初学者还是资深开发者,都可以从中学习到很多实用的知识,并为面试做好充分准备。

    jvm 参数及gc详解

    Java虚拟机(JVM)是Java程序运行的基础,它的配置参数和垃圾收集(GC)机制对于优化应用程序性能至关重要。本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数...

    成为JavaGC专家PartII-如何监控Java垃圾回收

    在Java编程语言中,垃圾回收(Garbage Collection, GC)是一项至关重要的机制,它自动管理内存,释放不再使用的对象,防止内存泄漏。本篇将深入探讨如何监控Java的垃圾回收,帮助开发者提升应用性能和稳定性。 Java...

    Java GC 专题

    本专题将深入探讨Java GC的基础知识,包括其工作原理、类型、调优策略以及相关工具的使用。 在Java中,内存分为堆内存(Heap)和栈内存(Stack)。堆内存主要用于存储对象实例,而栈内存则存储方法的局部变量。当一...

    JAVA核心面试知识整理-最全.zip

    这份“JAVA核心面试知识整理-最全.zip”压缩包提供了全面的Java面试准备材料,涵盖了Java基础、Java虚拟机(JVM)、多线程并发以及算法和Java中间件等多个关键领域。 首先,让我们深入Java基础。这部分通常包括Java...

    java基础面试知识整理

    Java 基础面试知识点详解 1. **Collection 和 Collections的区别** - Collection是集合类的顶级接口,包括...以上是Java基础面试中常见的知识点,理解和掌握这些内容对于面试至关重要,同时也反映了程序员的基本功。

    JAVA核心面试知识整理【书签完整】【高清可复制】

    这份"JAVA核心面试知识整理"的资源涵盖了广泛的Java技术栈,是准备Java面试或者深化技术理解的宝贵资料。以下是对其中主要知识点的详细说明: 1. **JVM(Java虚拟机)**:JVM是Java程序运行的基础,它负责解析....

    Java后端面试问题整理.docx

    Java后端面试问题涵盖了许多核心知识点,主要集中在Java虚拟机(JVM)、Java基础、并发编程和性能调优等方面。以下是对这些领域的详细说明: ### JVM #### 内存区域与垃圾回收 JVM内存主要分为堆(Heap)、栈...

    JAVA核心知识点整理.pdf

    接下来,根据标签"java 大数据 数据库",我们可以推断文档内容不仅限于Java基础,还可能涉及Java在大数据和数据库领域的应用。 根据提供的部分内容,我们可以详细地解释几个关键知识点: 1. JVM(Java虚拟机):...

Global site tag (gtag.js) - Google Analytics