|
|
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
static final String имеет преимущество в производительности перед обычным String? Считал что static final String объявляется и инициализируется раз и остается в памяти JVM всегда единым экземпляром, потому приложению нет необходимости каждый раз инициализировать переменную при обращении к ней, что еще больше должно проявляться в многопоточном программировании (том же веб контейнере). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 23:27 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
AK1988...каждый раз инициализировать переменную при обращении к ней...Это что же за переменные такие, которые при каждом обращении инициализируются? static final String имеет преимущество в производительности перед обычным String? IMHO на уровне погрешности измерения. Возможно преимущество в каких-то отдельных случаях, т.к. у JIT компилятора может быть больше свободы по оптимизации кода использующих фактически константы (static final) IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 23:41 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
AK1988и остается в памяти JVM всегда единым экземпляром Очень много заблуждений. Во-первых не всегда единым. Никто не мешает ту же строку собрать из внешних данных и получить другой экземпляр. Во-вторых наличие лишних перманентных объектов в куче, например, негативно сказывается на производительность некоторых типов GC. Если интересно разобраться - гуглите статьи про JVM string intern https://shipilev.net/jvm-anatomy-park/10-string-intern/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 08:35 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
В ADF конструкция static final применяется повсеместно при создании Entity, потому даже не не сомневался в правильности подобной рациональности, про единость екземпляра имел ввиду одно приложение на одну jvm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:36 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 10:39 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
AK1988, Код: java 1. 2. 3. 4. В теории переменная внутри метода создастся много раз, на практике оптимизатор вынесет ее из метода. В любом случае если значение является константой то самое место ему в константах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 17:11 |
|
||
|
static final String vs String performance
|
|||
|---|---|---|---|
|
#18+
artasВ теории переменная внутри метода создастся много раз Мы же с объектом не путаем? Переменной называем адрес объекта на стэке. Так? artas, на практике оптимизатор вынесет ее из метода. Переменную s? Вынесет куда? artasВ любом случае если значение является константой то самое место ему в константах А что же говорит документация по этому поводу? https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#intern() All literal strings and string-valued constant expressions are interned. String literals are defined in section 3.10.5 of the The Java™ Language Specification. Нет выходит никаких "оптимизаций на практике"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 17:56 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=53&tid=2122339]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 361ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...