Я читаю о сборке мусора, и я получаю запутывающие результаты поиска, когда я ищу коллекции строковых литералов String.
Мне нужно уточнить следующие пункты:
-
Если строка во время компиляции определяется как литерал [например:
String str = "java"], будет ли это сбор мусора? -
Если используется метод intern [например:
String str = new String("java").intern()], будет ли он собираться мусор? Также будет обрабатываться иначе, чем строковый литерал в точке 1. -
В некоторых местах упоминается, что литералы будут собирать мусор только тогда, когда класс
Stringбудет выгружен? Имеет ли смысл, потому что я не думаю, что классStringкогда-нибудь будет выгружен.