JavaFAQ Home » General Java
Question: What are additional types of GC do exist in the J2SE
platform, version 1.4.2?
1. The throughput collector: this collector
uses a parallel version of the young generation collector. It is used if the
-XX:+UseParallelGC option is passed on the command line. The tenured generation
collector is the same as the default collector.
The concurrent low pause collector: this collector is used if the
-XX:+UseConcMarkSweepGC is passed on the command line. The concurrent collector
is used to collect the tenured generation and does most of the collection
concurrently with the execution of the application. The application is paused
for short periods during the collection. A parallel version of the young
generation copying collector is used with the concurrent collector if the
combination -XX:+UseConcMarkSweepGC -XX:+UseParNewGC is passed on the command
This kind is also known as concurrent GC.
The incremental (sometimes called train) low pause collector: this
collector is used only if -Xincgc is passed on the command line. By careful
bookkeeping, the incremental garbage collector collects just a portion of the
tenured generation at each minor collection, trying to spread the large pause of
a major collection over many minor collections. However, it is even slower than
the default tenured generation collector when considering overall throughput.
Important! -XX:+UseParallelGC should not be used with
-XX:+UseConcMarkSweepGC. The argument parsing in the J2SE platform, version
1.4.2 should only allow legal combinations of command line options for garbage
collectors, but earlier releases may not detect all illegal combinations and the
results for illegal combinations are unpredictable.
Also important to
remember: always try default GC before using additional GCs!
Our older tips: March 22, 2001 - October 21, 2002
All published and not published on the site tips read
Printer Friendly Page
Send to a Friend
Search here again if you need more info!