`
wcxt2012
  • 浏览: 23723 次
  • 性别: Icon_minigender_1
  • 来自: 甘肃
社区版块
存档分类
最新评论

Java的GC垃圾回收原理与机制详解

阅读更多

JAVA中的对象是在堆上分配,而在堆上分配存储空间的方式是昂贵的.正是由于GC才使java在堆上的空间分配速度得以于其他语言在堆栈上分配速度相媲美.java对象也不再有作用域的概念.作用域是对于引用而言的.

 

垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收.

 

程序可以用System.gc() Runtime.getRuntime().gc() 请求垃圾回收,但并不保证立即执行垃圾回收. 

 

GC的工作原理: 引用计数,标记复制 

"引用计数"是一种简单但速度很慢的垃圾回收技术.所有对象都有一个引用计数器,当有引用连接时计数器加1,当引用离开作用域时或者被置于NULL时,计数器-1,垃圾回收器会在所以包含对象引用的列表上进行遍历,当发现某个对象的引用计数为0时,就释放占用的空间. 

 

"标记复制"的运行机制,垃圾回收器遍历包含所有引用的列表,当发现存活的对象引用时做上标记,这样当遍历完所有对象引用并做上标记的时候,执行垃圾回收,将没有标记的对象堆空间释放. 

 

垃圾回收机制的优点: 

Java的垃圾回收机制是的程序员不用担心内存空间的分配,减少了内存溢出.但同时也牺牲了一定的性能.

分享到:
评论

相关推荐

    java垃圾回收(gc)机制详解.pdf

    Java垃圾回收(GC)机制是Java语言管理内存的自动化机制,它能够自动释放不再使用的内存空间,从而避免内存泄漏和程序崩溃等问题。在介绍Java GC机制之前,我们首先要了解垃圾回收的目的和意义。在任何程序中,内存...

    java垃圾回收(gc)机制详解

    Java垃圾回收(GC)机制是Java编程语言中的一个重要特性,它自动管理程序的内存空间,负责识别并清除不再使用的对象,以防止内存泄漏。本文将深入探讨Java GC的工作原理、类型、过程以及优化策略。 一、Java垃圾...

    java高级之垃圾回收机制

    ### Java高级之垃圾回收机制详解 #### 一、引言 在现代软件开发中,Java因其平台无关性、丰富的库支持以及自动内存管理等特性,成为企业级应用开发的首选语言之一。其中,垃圾回收机制(Garbage Collection, GC)是...

    Java垃圾回收原理

    ### Java垃圾回收原理详解 #### 一、引言 在现代软件开发中,Java作为一种广泛使用的编程语言,其垃圾回收机制是确保程序高效运行的关键技术之一。本文将深入探讨Java中的垃圾回收机制,包括其基本原理、不同类型...

    Java垃圾回收机制详解

    ### Java垃圾回收机制详解 #### 一、引言 在软件开发领域,特别是对于像Java这样的面向对象语言,内存管理一直是开发者关注的核心问题之一。Java的出现极大地简化了这一过程,其中最为突出的特点之一就是其内置的...

    java垃圾回收机制简述

    本篇文章旨在深入探讨Java垃圾回收(Garbage Collection, GC)机制的工作原理及其重要性。通过理解垃圾回收机制如何运作,可以帮助开发者更好地诊断和解决内存泄漏及性能瓶颈等问题。 #### 二、历史背景 早在1960...

    Java垃圾回收详解

    ### Java垃圾回收详解 #### 垃圾回收基础概念 在Java编程语言中,垃圾回收(Garbage Collection, GC)是一项自动化的内存管理机制。它能够自动检测并释放那些不再被程序使用的对象所占用的内存空间,从而有效地...

    java jstat 查看哪个进程频繁GC垃圾回收

    Java垃圾回收(Garbage Collection, 简称GC)是JVM(Java Virtual Machine)管理内存的重要机制。在Java应用程序运行过程中,如果发现并回收不再使用的对象,可以防止内存泄漏,确保程序稳定运行。当我们遇到应用...

    Java的垃圾回收机制详解和调优大全

    Java的垃圾回收(GC)机制是Java编程中一个至关重要的概念,它负责自动管理内存,回收不再使用的对象,以防止内存泄漏。理解GC的工作原理和优化策略对于开发高性能的Java应用至关重要。 首先,GC的基本目标是识别并...

    垃圾回收机制面试题·.docx

    ### 垃圾回收机制详解 #### 一、引言 在现代软件开发中,内存管理一直是程序设计中的一项重要任务。特别是在高级编程语言中,如何有效地管理和释放内存资源成为了衡量一个程序性能的关键因素之一。Java作为一种...

    Java垃圾回收机制详解和调优

    Java垃圾回收机制是Java虚拟机(JVM)中至关重要的组成部分,它的主要任务是自动管理内存,回收不再使用的对象以避免内存泄漏。垃圾回收机制在Java中自动化了内存管理,使得程序员无需手动管理内存,降低了编程复杂...

    Java 垃圾回收机制详解(动力节点Java学院整理).docx

    - **自动内存管理**:与C++等语言不同,Java通过垃圾回收机制自动释放不再使用的对象所占用的内存,减轻程序员手动管理内存的负担。 - **提高编程效率**:开发者无需担心内存泄漏问题,可以更专注于业务逻辑的实现...

    Java 垃圾回收机制详解及实例代码.docx

    Java垃圾回收机制的设计和实现是Java平台的一大亮点,它极大地简化了内存管理,同时也需要开发者理解其工作原理,以优化应用程序的性能和稳定性。通过选择合适的垃圾回收器,配置适当的参数,以及编写良好的代码习惯...

    java虚拟机垃圾回收详解

    Java虚拟机(JVM)的垃圾回收(Garbage Collection,简称GC)机制是Java编程中的一个重要组成部分,它自动管理程序的内存,确保无用的对象能够被有效地释放,从而避免内存泄漏。本文将深入探讨Java垃圾回收的基本...

    java垃圾回收技术,面试会问

    ### Java垃圾回收技术详解 #### 一、引言 在现代软件开发中,Java作为一种广泛使用的编程语言,其垃圾回收机制(Garbage Collection, GC)是面试和技术交流中经常提及的话题之一。尤其对于那些深入研究Java内存...

Global site tag (gtag.js) - Google Analytics