2017-01-20 3 views
0

После JDK 7 Строковый пул будет создан на куче, а не PermGen. Теперь мой вопрос: собирается ли когда-нибудь собирать мусор?String pool garbage собрано в jdk 1.7

Также сказано, что объекты String всегда создаются в куче, а пул строк - ссылку на эти объекты. Итак, как встроенный пул строк, он использует любой hashMap или что-то для кэширования ссылок.

ответ

0

Вторая часть вашего вопроса ответа здесь - How does Java implement String pooling?

Мне жаль разочаровывать вас, кроме Java Стринг-Pool не является фактическим классом Java, но где-то реализованы в JVM, т.е. он прописан как код C++. Если вы посмотрите на исходный код класса String (почти полностью вниз), вы увидите, что метод intern() является родным. Вам нужно будет пройти через код JVM, чтобы получить дополнительную информацию.

Редактировать: Некоторая реализация может быть найдена здесь (C++ header, C++ implementation). Найдите строку StringTable.