понедельник, 23 ноября 2009 г.

PJP: Garbage Collector (GC)

После смерти Одиссей, как один из величайших людей, прежде чем выпить воды из Реки Забвения и забыть все воспоминания (кануть в Лету) для возвращения на Землю в новом обличии имел право выбрать кем ему быть в следующей жизни ...

Река Забвения (Лета) в Java зовется Garbage Collector. Она стирает все прежние предназначение участков ОЗУ и обновленными возвращает их к жизни.

Отличный список ссылок на сайте java.sun.com.
Особенно рекомендую оттуда Memory Management Whitepaper.

Немного сумбурно - Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning.

В документе "Memory Management Whitepaper" описано несколько collector-ов имеющихся в Sun HotSpot JVM (Serial Collector, Parallel Collector, Parallel Compacting Collector, Concurrent Mark-Sweep Collector(CMS)). Особенно хорош CMS.
The original CMS paper: Printezis, T. and Detlefs, D. 2000. A generational mostly-concurrent garbage collector. In Proceedings of the 2nd international Symposium on Memory Management (Minneapolis, Minnesota, United States, October 15 - 16, 2000).

Но сейчас выводят на сцену совершенно новый уборщик мусора - Garbage-First
Garbage Collection (G1), который обещает по параметрам превзойти все, что было прежде.
The Garbage-First Garbage Collector (or G1 GC for short) is a new GC that is being introduced in the Java HotSpot VM in JDK 7. An experimental version of G1 has also been released in Java SE 6 Update 14. G1 is the long-term replacement for HotSpot's low-latency Concurrent Mark-Sweep GC (widely referred to as CMS).
The original G1 paper: Detlefs, D., Flood, C., Heller, S., and Printezis, T. 2004. Garbage-first garbage collection. In Proceedings of the 4th international Symposium on Memory Management (Vancouver, BC, Canada, October 24 - 25, 2004).
G1 talk from JavaOne 2008
Совсем кратко о G1 на java.sun.com.

P.S. Garbage Collectors - одна из тех частей JVM, на разработку которых Университеты уже потратили десятилетия. GC в HotSpot возможно наилучшие реализации в мире (включая .NET) и намного лучше чем в новомодных Ruby, Python.

Комментариев нет:

Отправить комментарий