В чем смысл "Из космоса" и "В космос", показанный в jmap?

Я понимаю разницу между новым gen/old gen/perm gen, но я не знаю, что такое "To Space" и "From Space". Я вижу, что мой "From Space" попал на 99,8%, а "To Space" всегда, кажется, остался на 0%.

Ответ 1

Два региона в алгоритме сбора мусора, который используется в виртуальной машине.

Спецификации Java можно найти здесь: Как работает сборка мусора в Java

И общее объяснение "из космоса" и "в космос": WP

Самый простой подход - это сборщик полупространства, который датируется 1969 годом. В этой движущейся схеме GC память разделяется на "из пространства" и "на пробел" . Первоначально объекты распределяются в "пробел" до тех пор, пока они не станут заполнены и не будет запущена коллекция. В начале коллекции "в космос" становится "из космоса" и наоборот. Объекты, доступные из корневого набора, копируются из "from space" в "space"

Причина, по которой ваш "пробел" равен 0%, заключается в том, что используется только один из них, кроме случаев сбора; когда сбор выполняется, и все объекты находятся в "пробеле", тогда имена меняются местами, а "пробел" теперь называется "из пространства".