|
|
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
Вот такой код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. выдает: true Enter: ver false Почему в первом случае true а во втором false, хотя в первом явно ничего не интернируется, а во втором - обе строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:27:17 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
Код: java 1. Вот здесь ver не интернирован. Попробуйте вот так: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:34:11 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
А в первом случае true, вероятно, потому что компилятор склеил строку. Какой смысл две константы конкатенировать каждый раз в рантайме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:47:29 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
Ошибка здесь: ver.intern(); должно быть ver = ver.intern(); строки immutable. они своё состояние не меняют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:48:16 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
Спасибо. То есть, константы всегда неявно интернируются, явно интернировать нужно все остальное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:52:10 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
DeviderСпасибо. То есть, константы всегда неявно интернируются, явно интернировать нужно все остальное... Не нужно вообще ничего интенрировать, нужно строки сравнивать по equals(). Интернированые строки помещаются в долгоживущий пул. Если вы будете интернировать все динамические строки на сервере, то этот пул может сожрать достаточно много памяти. А константы в этот пул попападают автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:54:38 |
|
||
|
Интернирование
|
|||
|---|---|---|---|
|
#18+
Вот хороший пост по теме http://rsdn.ru/forum/java/4526678.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2012, 13:55:51 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2132609]: |
0ms |
get settings: |
13ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 331ms |
| total: | 475ms |

| 0 / 0 |
