`
zengshaotao
  • 浏览: 788115 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

javaGC机制

 
阅读更多
回收机制就是当一些资源被创建使用之后或不在调用的话 就会变成垃圾,垃圾的话会占用空间,这时候就需要释放空间给其他程序使用,所以JAVA拥有自动垃圾回收机制,会在适当的时候自动调用垃圾回收 释放资源,程序员也可以手动调用释放资源

对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。
通常,GC  采用有向图的方式记录和管理堆(heap) 中的所有对象。通过这种方式确定哪些对
象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"时,GC 就有责任回
收这些内存空间。程序员可以手动执行 System.gc(),通知 GC 运行,但是 Java 语言
规范并不保证 GC 一定会执行。

JVM内存参数调优:
强制内存回收对于系统自动的内存回收机制会产生负面影响,会加大系统自动回收的处理时间,所以应该尽量避免显式使用System.gc(),
JVM的设置可以提高系统的性能。例如:
java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8 -Xms512m -Xmx512m
具体可以查看java帮助文档。我们主要介绍程序设计方面的性能提高。
JAVA程序设计中有关内存管理的其他经验:
根据JVM内存管理的工作原理,可以通过一些技巧和方式让JVM做GC处理时更加有效。,从而提高内存使用和缩短GC的执行时间。
1,尽早释放无用对象的引用。即在不使用对象的引用后设置为空,可以加速GC的工作。(当然如果是返回值。..。.)
2,尽量少用finalize函数,此函数是JAVA给程序员提供的一个释放对象或资源的机会,但是却会加大GC工作量。
3,如果需要使用到图片,可以使用soft应用类型,它可以尽可能将图片读入内存而不引起OutOfMemory.
4,注意集合数据类型的数据结构,往往数据结构越复杂,GC工作量更大,处理更复杂。
5,尽量避免在默认构造器(构造函数)中创建,初始化大量的对象。
6,尽量避免强制系统做垃圾回收。会增加系统做垃圾回收的最终时间降低性能。
7,尽量避免显式申请数组,如果不得不申请数组的话,要尽量准确估算数组大小。
8,如果在做远程方法调用。要尽量减少传递的对象大小。或者使用瞬间值避免不必要数据的传递。
9,尽量在合适的情况下使用对象池来提高系统性能减少内存开销,当然,对象池不能过于庞大,会适得其反.
分享到:
评论

相关推荐

    JavaGC机制.pdf

    java

    Java GC的副本.pptx

    【Java GC机制详解】 Java垃圾回收(Garbage Collection, GC)是Java虚拟机(JVM)的核心特性之一,它负责自动管理程序运行时的内存,有效地避免了内存泄露和溢出的问题。Java GC机制主要涉及以下几个关键方面: 1...

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

    在介绍Java GC机制之前,我们首先要了解垃圾回收的目的和意义。在任何程序中,内存的分配与释放是两个基本的内存管理操作。Java通过垃圾回收机制来帮助开发者自动管理内存,减轻了手动内存管理的负担。 一、为什么...

    Java GC 机制与内存分配策略详解

    了解和掌握GC机制与内存分配策略对于Java开发者来说至关重要,因为这有助于优化应用程序的性能和稳定性。 1. **垃圾收集器**: - **垃圾收集器**是实现GC的具体工具,不同的JVM实现可能有不同的垃圾收集器。例如,...

    Java垃圾回收GC机制

    Java垃圾回收GC机制 Java垃圾回收GC机制是Java虚拟机(JVM)中的一种自动内存管理机制,它主要是为了解决Java程序中的内存问题。GC机制的出现使得Java程序员不再需要手动管理内存,提高了开发效率和程序的稳定性。 ...

    Java GC与性能调优

    JVM 的垃圾回收机制是 Java GC 与性能调优的核心内容。JVM 的垃圾回收机制可以分为以下几个步骤: * 标记阶段:标记出所有活动对象。 * 清除阶段:清除所有不可达对象。 * 压缩阶段:压缩内存,减少碎片。 五、 ...

    新手必须学习资料:JVM详解

    Java GC 机制是 JVM 的垃圾回收机制,负责回收垃圾对象的内存空间。Java GC 机制可以分为以下几个方面: * 标记清除算法:标记清除算法是 Java GC 机制的基础,负责标记垃圾对象和清除垃圾对象。 * 复制算法:复制...

    Java 内存区域和GC机制

    Java内存区域和垃圾收集(GC)机制是Java...了解并熟练掌握Java内存区域和GC机制对于优化Java应用性能、排查内存问题至关重要。开发者应根据应用需求选择合适的JVM参数和垃圾收集器,并借助相关工具进行监控和调优。

    Java的GC机制探微.pdf

    总的来说,虽然Java的GC机制减轻了程序员的内存管理负担,但了解并掌握GC的运作方式和优化技巧,仍然是提升Java应用效率的关键。通过深入研究GC机制,Java程序员能够更好地控制内存使用,减少不必要的性能开销,提高...

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

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

    JVM深入解析(JVM specification 和Sun的JVM的内存机制)

    5. Java GC机制 - Java的垃圾收集机制自动回收不再使用的对象占用的内存,避免内存泄漏。 - 主要有几种GC算法,如复制算法(年轻代)、标记-整理算法(老年代)、标记-清除算法,以及分代收集。 - CMS...

    Java基础[Java基础]--Java GC工作原理

    Java虚拟机(JVM)中的GC机制会定期检查堆内存中的对象,判断它们是否仍处于活动状态。如果某个对象不再被任何变量引用,即认为该对象已经“不可达”,GC就会回收这些对象所占用的内存空间。 **2.2 对象的分配与回收*...

    Java_GC垃圾回收调优指南

    ### Java GC垃圾回收调优指南 #### 概述 在Java开发过程中,垃圾回收(Garbage Collection, GC)是管理内存资源的关键技术之一。合理的GC配置可以显著提高应用程序的性能和稳定性。本指南旨在帮助开发者深入理解...

    成为JavaGC专家上(1)—深入浅出Java垃圾回收机制

    对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以...这是成为JavaGC专家系列文章的第一篇,本篇主要针对GC机制进行介绍,在下一篇

Global site tag (gtag.js) - Google Analytics