请输入您要查询的百科知识:

 

词条 Garbage-first collector
释义

  1. Garbage collector

  2. Related products

  3. See also

  4. References

  5. External links

The Garbage-first collector (G1) is a garbage collection algorithm introduced in the Oracle HotSpot Java virtual machine (JVM) 6 and supported from 7 Update 4. It was planned to replace Concurrent mark sweep collector (CMS) in JVM 7.

Garbage collector

Garbage-first (G1) collector is a server-style garbage collector, targeted for multiprocessors with large memories, that meets a soft real-time goal with high probability, while achieving high throughput.[1] G1 preferentially collects regions with the least amount of live data, or "garbage first".[2] G1 is the long term replacement of CMS. Whole-heap operations, such as global marking, are performed concurrently with the application threads, to prevent interruptions proportional to heap or live-data size. Concurrent marking provides both collection completeness and identifies regions ripe for reclamation via compacting evacuation. This evacuation is performed in parallel on multiprocessors, to decrease pause times and increase throughput.

G1 was first introduced as an experimental option in Java SE 6 Update 14,[3] where it can be enabled with the following two command-line parameters:

-XX:+UnlockExperimentalVMOptions and -XX:+UseG1GC

With JDK 7, G1 was planned to replace CMS in the Hotspot JVM. There are two major differences between CMS and G1. The first is that G1 is a compacting collector.[4] G1 compacts sufficiently to completely avoid the use of fine-grain free lists for allocation, which considerably simplifies parts of the collector and mostly eliminates potential fragmentation issues. As well as compacting, G1 offers more predictable garbage collection pauses than the CMS collector and allows users to set their desired pause targets.

Proposals for Java 9 included making G1 the standard garbage collector, with Google counter proposing the well-known CMS as the standard, claiming the modified CMS it uses performs better than G1.[5]

In Java 9 the G1 was made the default garbage collector. [6]

Related products

Guaranteed real-time behavior even with garbage collection requires a real-time garbage collector such as those that come with Sun's Java RTS[7] or IBM’s WebSphere RT.[8]

See also

  • Mark-compact algorithm

References

1. ^{{cite paper|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.6386&rep=rep1&type=pdf |title=Garbage-First Garbage collection |year=2004 |first1=David |last1=Detlefs |first2=Christine |last2=Flood |first3=Steve |last3=Heller |first4=Tony |last4=Printezis |journal=ISMM'04 |doi=10.1145/1029873.1029879}}
2. ^{{cite web|url=https://www.redhat.com/en/about/blog/part-1-introduction-g1-garbage-collector|title=Part 1: Introduction to the G1 Garbage Collector|website=www.redhat.com}}
3. ^{{cite web|url=http://www.drdobbs.com/jvm/g1-javas-garbage-first-garbage-collector/219401061|title=G1: Java's Garbage First Garbage Collector|publisher=Dr Dobbs}}
4. ^{{cite web|url=http://www.fasterj.com/articles/G1.shtml|title=The Garbage First Collector|website=www.fasterj.com}}
5. ^{{cite web|url=https://jaxenter.com/java-9s-new-garbage-collector-whats-changing-whats-staying-118313.html|title=Java 9's new garbage collector: What's changing? What's staying? - JAXenter|date=26 June 2015|publisher=jaxenter.com}}
6. ^{{cite web|url=https://stackoverflow.com/questions/46377561/why-g1-is-default-garbage-collector-for-java-9|title=Why G1 is default garbage collector for Java 9?}}
7. ^http://www.oracle.com/technetwork/articles/javase/index-138577.html An Introduction to Real-Time Java Technology: Part 2, Garbage Collection and the Sun Java Real-Time System (Java RTS)
8. ^http://www.ibm.com/developerworks/java/library/j-rtj4/index.html?S_TACT=105AGX02&S_CMP=EDU Real time Garbage Collection

External links

  • Garbage-First Garbage collection
  • [https://stackoverflow.com/questions/2881827/how-does-the-garbage-first-garbage-collector-work How does the Garbage-First Garbage Collector work?]
  • [https://plumbr.eu/handbook/garbage-collection-algorithms-implementations/g1 JAVA GARBAGE COLLECTION HANDBOOK G1 – Garbage First]
  • [https://www.infoq.com/articles/G1-One-Garbage-Collector-To-Rule-Them-All G1: One Garbage Collector To Rule Them All]
  • [https://www.safaribooksonline.com/library/view/java-performance-companion/9780133796896/ch02.html 1. Garbage First Overview]
{{Memory management navbox}}

3 : Memory management algorithms|Automatic memory management|Java virtual machine

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/24 4:23:00