Рассмотрим следующий код
public static void method(String[] srgs){
try{
}catch(){
System.out.println("Hello World" + "one");}
catch(..){
System.out.println("Hello World" + "two");}
catch(..){
System.out.println(getString());}
}
Когда создаются эти строки? Я предполагаю, что строки будут созданы, когда возникнет исключение во время выполнения. Строка создается во время выполнения и отображается. Мой коллега говорит мне, что, поскольку это постоянные строки, они будут созданы, как только класс загрузится. Это правильно?
Когда собирается мусор Strings? Они мусор вообще? Предполагая, что один и тот же метод может вызываться много раз за время жизни программ, не имеет смысла просто их кэшировать?