Какая разница (по памяти) между
private static final String FAILURE_MESSAGE= "...";
protected String getFailedMsg() {
return FAILURE_MESSAGE;
}
И
protected String getFailedMsg() {
return "...";
}
Предполагается, что на FAILURE_MESSAGE
ссылаются только из вышеуказанной функции.
Я имею в виду, где и как вышеупомянутые объекты / строки хранятся в памяти в вышеупомянутых случаях?Это специфическая JVM?
Редактировать: Я знаю, что строка интернирована в первом подходе, но где ее значение хранится / хранится / (интернируется?) Во втором подходе до вызова функции?
Второе редактирование как запоздалая мысль - что если строки заменить на int или какой-то другой класс, который не является строкой?