Я только что прочитал статью в документации BlackBerry о написании эффективного кода на J2ME а>.
В этой статье есть раздел, в котором рекомендуется «использовать статические переменные для строк». Причина в том, что, поскольку компилятор встраивает ссылки static final
как строковые литералы, лучше оставить их неокончательными (я полагаю, что получение статической ссылки дешевле, чем получение из пула строк?).
Это верно для всех JVM?? Мой босс на моей последней работе вбил нам в голову, что мы должны всегда, всегда использовать static final
для наших констант. Мы занимались встроенным программированием на Java, поэтому он был настоящим сторонником производительности (хотя в данном случае я не уверен, что его больше заботило — память или скорость). Мой босс много лет занимается Java и действительно знает свое дело, поэтому я последовал его совету; теперь я получаю противоречивые советы!
Так какой из них действительно лучше? Вы можете ответить либо с точки зрения экономии памяти, либо с точки зрения скорости, а также для J2ME или J2SE.