Интересно, какой официальный статус сборщика мусора первым (G1) в выпуске JDK 7. Я хотел бы использовать G1 как альтернативу CMS с низкой паузой, но только если я действительно могу доверять ее надежности.
До того, как JDK 7 вышел, G1 был объявлен блестящим новым gc, который заменит сборщик CMS и даже станет gc по умолчанию в JDK 7. Однако теперь с Oracle JDK 7u1 G1 не является стандартным gc на любом машина, которую я пробовал.
Несмотря на то, что при использовании -XX:+UseG1GC
в JDK 7 больше не нужно указывать -XX:+UnlockExperimentalVMOptions
, это функция JVM, официально официально недокументированная:
Сбор и сбор мусора Java 7 (JDK 7) на G1
Единственный официальный документ, который я мог бы найти, который упоминает G1, серьезно устарел и был написан задолго до выхода JDK 7:
http://www.oracle.com/technetwork/java/javase/tech/g1-intro-jsp-135488.html
Например, официальная документация "Параметры Java Java HotSpot" (http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html) документирует, как включать и настраивать другие коллекторы, но даже не упоминает о существовании G1. Как будто этого не было!
Это довольно запутанно, и мне интересно, каков реальный статус G1 и каково его будущее. Это действительно стабильно? Были ли устранены оставшиеся проблемы (например, утечки, ложные сбои и отсутствие поддержки инструментария)? И если да, то почему Oracle рассматривает G1GC как незарегистрированный (неловкий?) Секрет? Является ли G1 неудачным проектом, который теперь молча прекращается? Или мне нужно заплатить за документацию и поддержку? Или это просто бета-версия? Может кто-нибудь просветить меня о том, что происходит здесь?