Java的垃圾回收机制探析摘要:垃圾回收机制是指java虚拟机用于释放那些不再使用的对象所占用的内存,是java语言区别于其他程序设计语言的一大特色。从多个方面分析Java的垃圾回收机制,为进一步理解java虚拟技术奠定研究基础。本文来源于网络,本站发布的论文均是优质论文,供学习和研究使用,文中立场与本网站无关,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息,如果需要分享,请保留本段说明。关键词:Java虚拟机;垃圾回收;Java 中图分类号::A文章编号:1671-7597(2011)0510190-01 Java的垃圾回收机制是对监测在使用的对象和并回收不再使用(引用)的对象。Java垃圾回收机制能够有效防范动态内存分配中可能出现的危险:因内存垃圾过多而导致的内存耗尽,以及任意的内存释放所造成的内存非法引用。 1Java垃圾回收机制 GC(GarbageCollector)即垃圾回收器是指Java虚拟机(JVM)用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。对垃圾回收算法和执行过程充分理解后,有利于优化它的性能。认清了应用程序的工作负荷和jvm支持的垃圾回收算法,能有效的进行优化配置垃圾收集器。部分垃圾回收专用于特殊的应用程序。例如,实时应用程序主要是为了避免垃圾回收中断,而大多数OLTP应用程序则注重整体效率。垃圾回收的目的在于清除不再使用的对象。gc通过监测对象是否被活动对象引用来确定是否回收该对象。因此,判断该对象是何时可以收集是gc首先的工作。 Java虚拟机(JVM)的自动内存管理的机制有效的防止了管理内存的危险并避免了错误,同时省去了程序员管理内存的麻烦。垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。虽然java虚拟机没有对回收技术进行规范,但是任何垃圾回收算法都必须做两件事情:首先,它必须检测出是否存在垃圾对象,然后回收这些对象占用的空间并在程序中重新利用这些空间。垃圾回收的的关键是区分存活对象与垃圾对象:如果堆空间的对象正在被引用,则是存活对象,反之,则为垃圾对象。对不再被引用的垃圾对象回收其占据的空间,用于再分配。垃圾回收算法的选择和垃圾回收系统参数的合理调节直接影响着系统性能。 2垃圾回收的意义在C++中,在程序结束运行之前内存被对象一直所占用,在没有被释放之前无法分配给其它对象;而在Java中,当原先分配给某个对象的内存没有对象引用指向时,该内存便成为垃圾。该内存块会被Java虚拟机(JVM)的一个系统级线程会自动释放。垃圾回收意味着将程序不再需要的对象是丢弃。即系统自动去跟踪内存对象,并回收垃圾对象占用的内存空间,以便被后来的新对象使用。事实上,垃圾回收机制除了能释放没用的对象,也可以清除内存记录碎片。碎片是分配给对象的内存块之间的空闲内存洞。新建一个对象和垃圾回收器释放丢弃对象时要占用一定的内存空间,内存因此出现碎片。垃圾回收的碎片整理功能将所占用的堆内存移到堆的一端,JVM将整理出的内存再重新分配给新的对象。垃圾回收对Java程序员来说基本上是透明的,一旦对象闲置,垃圾
Java的垃圾回收机制探析 来自淘豆网m.daumloan.com转载请标明出处.