2011-01-24 4 views
5

В вопросе calling-system-gc-explicitly был указан комментарий: «Вы не можете« заставлять »универсальную JVM делать сборку мусора, потому что сборщик мусора на самом деле не требуется спецификацией JVM.». Мой вопрос в том, есть ли такая JVM (и как и где она будет использоваться, если да).Есть ли у JVM сборщик мусора?

ответ

9

Например, в JVM JavaCard не хватало сбора мусора до версии v3.

+0

+1 Отличная ссылка. isGarbageCollectionSupported() и requestGarbageCollection() были фактически введены в JCVM 2.2. – xelco52

3

Сбор мусора (если вы игнорируете слабые и мягкие ссылки) - это, по сути, симуляция бесконечной памяти, по крайней мере, для недостижимых объектов. Если объект получает мусор, собранный в лесу, и ни один код не может достичь этого, сделал ли он звук?

На практике JVM без коллекционеров будет немного и далеко друг от друга, потому что на практике память ограничена. О единственных местах, где я могу думать о том, где JVM без GC было бы полезно, было бы JVM для исследований/обучения или JVM, используемая только для очень коротких процессов (где вы знаете, что уничтожаете всю JVM, прежде чем она будет потреблять слишком много памяти).

Смежные вопросы