Все объекты Java подлежат сборке мусора. Однако нативные ресурсы напрямую не управляются сборщиком мусора, некоторые как дескрипторы окон (JFrame) освобождаются сборщиком мусора при реализации метода finalize (), другие требуют ручного управления ресурсами.
Кроме того, jvm не должен собирать существующие объекты перед тем, как завершить работу, это может привести к незначительным ошибкам, таким как данные не будут записаны на диск.
И, наконец, есть расширения спецификации Java для систем реального времени или смарт-карт, которые включают неуправляемую память по соображениям производительности и ресурсов. Однако это не относится к стандартному jvm.