
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.09.2016, 13:49
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Подскажите, пжста, какой из двух классов лучше и почему? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Как бы вы написали с точки зрения производительности, памяти, читаемости кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 13:56
|
|||
|---|---|---|---|
Возвращаем строковую константу |
|||
|
#18+
Раз в первую очередь стоит производительность, то второй, причем желательно делать переменные и названия методов в одну-две буквы (так быстрее распарсится). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 13:58
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir KПодскажите, пжста, какой из двух классов лучше и почему? Это ж надо было целых два класса завести и спрашивать про них, а не про сам предмет вопроса. Vladmir KКак бы вы написали с точки зрения производительности, памяти, читаемости кода. Забудьте про производительность и память до тех пор пока вам их перестанет хватать. Читаемость, важнее. Но не одна она является критерием качества кода. В данном случае есть как минимум две причины вынести константу 1. Имя переменной может объяснить назначение текста, когда текст с этим не справляется. 2. Изменяя значение константы мы не забываем поправить текст в нескольких местах кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:11
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
BlazkowiczVladmir KПодскажите, пжста, какой из двух классов лучше и почему? Это ж надо было целых два класса завести и спрашивать про них, а не про сам предмет вопроса. Сам предмет вопроса вынесен в название темы :)) Но в целом, да, извратился. BlazkowiczЗабудьте про производительность и память до тех пор пока вам их перестанет хватать. Допустим весь проект уже сжирает память и медлителен. Чтобы не навредить больше, стоит ли загоняться предположением, что статичная переменная просидит в памяти дольше? (Исходя из личного опыта) Blazkowicz2. Изменяя значение константы мы не забываем поправить текст в нескольких местах кода. Именно поэтому я и вынес переменную при рефакторинге существующего класса. Но получил замечание. Пришлось задуматься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:13
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
no56892желательно делать переменные и названия методов в одну-две буквы (так быстрее распарсится). чем распарсится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:17
|
|||
|---|---|---|---|
Возвращаем строковую константу |
|||
|
#18+
Vladmir K, авторДопустим весь проект уже сжирает память и медлителен. Чтобы не навредить больше, стоит ли загоняться предположением, что статичная переменная просидит в памяти дольше? (Исходя из личного опыта) Выпаивайте из материнки всю переферию, она то жрет будь здоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:21
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir KСам предмет вопроса вынесен в название темы :)) Нет. Предмет вопроса это "магические константы". Vladmir KДопустим... Assumption is the mother of all fuckups. Vladmir Kстатичная переменная просидит в памяти дольше? (Исходя из личного опыта) Исходя из личного опыта вместо того чтобы делать далеко идущие выводы на основе предположений, стоит изучить устройство пула строк и требования JLS к нему http://stackoverflow.com/a/29978564 Vladmir KИменно поэтому я и вынес переменную при рефакторинге существующего класса. Но получил замечание. Пришлось задуматься... Ну, в каждой ситуации могут быть исключения. Например, текст в двух методах совершенно не обязан совпадать. Надо было спросить чем руководствовался замечающий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:22
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir Kno56892желательно делать переменные и названия методов в одну-две буквы (так быстрее распарсится). чем распарсится? Компилятором. Очевидно, же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:33
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
no56892причем желательно делать переменные и названия методов в одну-две буквы (так быстрее распарсится). бред же :) даже если будет быстрее на одну миллионную... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 14:45
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
BlazkowiczКомпилятором. Очевидно, же. rema174бред же :) даже если будет быстрее на одну миллионную... Вот и я же так думаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 15:01
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
BlazkowiczНет. Предмет вопроса это "магические константы". +1 BlazkowiczAssumption is the mother of all fuckups. Discussion in class, which means letting twenty young blockheads and two cocky neurotics discuss something that neither their teacher nor they know. Vladimir Nabokov BlazkowiczНадо было спросить чем руководствовался замечающий. К сожалению, замечающий ссылался на некую оптимизацию GC, но не был уверен. Текст в разных методах различаться не может. Строковый пул, ест-но, "изучил", но видимо не сильно глубоко осознал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 15:33
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir KК сожалению, замечающий ссылался на некую оптимизацию GC, но не был уверен. Текст в разных методах различаться не может. Строковый пул, ест-но, "изучил", но видимо не сильно глубоко осознал. Если мы закладываемся на оптимизацию, то нужно писать комментарии Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 15:41
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Blazkowicz, благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 16:42
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
1) С большой долей вероятности JIT заинлайнит метод, а тем более static final константу. Т.ч. без разницы Обработка static final как константы, вроде даже описана в стандарте Java - т.е. должна поддерживаться всеми JVM, JavaCompiler'ами (static final вроде уже на уровне JavaCompiler должна заинлайнется). 2) Вы спрашиваете про строчку, а не про атомарный тип. Т.ч. здесь тем более без разницы. В любом случае, компилятор такой же временный объект "строка" и породит. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 17:01
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Leonid KudryavtsevВ любом случае, компилятор такой же временный объект "строка" и породит. Я больше думаю о жизни этого временного объекта: статичная переменная соберется GC вместе с классом. Строка в методе, теоретически, должна умереть раньше (хотя еще вопрос как строковый пул себя поведет). Но я могу напутать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 17:04
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir KСтрока в методе, теоретически, должна умереть раньше (хотя еще вопрос как строковый пул себя поведет). Но я могу напутать... Почему она должна умирать? IMHO Или вообще умереть не должна. Или так же, вместе с классом. Ничем от статик отличаться не должно. Хотя могу путать, это хорошо бы по сорцам Java-а смотреть ))) Тут Вы совершенно правы: Vladmir Kхотя еще вопрос как строковый пул себя поведет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 17:04
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Vladmir KЯ больше думаю о жизни этого временного объекта: статичная переменная соберется GC вместе с классом. Переменная не соберется. Переменная это не объект, а только ссылка на него. Объект-строка инициализированная в статическом конструкторе лежит в пуле точно так же как строка инициализированная в методе. Vladmir KСтрока в методе, теоретически, должна умереть раньше Согласно какой теории? То есть, GC смело вытрет строку, которая используется в методе класса, который ещё жив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 19:24
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
BlazkowiczGC смело вытрет строку, которая используется в методе класса, который ещё жив?+XX:HoodlumGC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 20:14
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
grasoff.net+XX:HoodlumGC Google о таком ключе не знает ((( Как он точно пишется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.09.2016, 20:53
|
|||
|---|---|---|---|
|
|||
Возвращаем строковую константу |
|||
|
#18+
Leonid KudryavtsevGoogle о таком ключе не знает ((( Как он точно пишется? :D googlenoun noun: hoodlum; plural noun: hoodlums a person who engages in crime and violence; a hooligan or gangster. synonyms: thug, lout, delinquent, vandal, ruffian, hooligan, lowlife; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2123727]: |
0ms |
get settings: |
13ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
158ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 527ms |

| 0 / 0 |
