|
|
|
autoboxing: простая но полезная головоломка
|
|||
|---|---|---|---|
|
#18+
вот пример класса Java SE 5: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. результат работы: Код: plaintext 1. 2. 3. 4. вопрос: почему? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2006, 00:54 |
|
||
|
autoboxing: простая но полезная головоломка
|
|||
|---|---|---|---|
|
#18+
грсв .... вопрос: почему? :) Засада, однако! Надо полагать, проблема связана с особенностью реализации класса - оболочки Integer. Чтобы каждый раз не плодить массу int объектов и не засорять кучу (и не тратить ресурсы процессора), был создан статический класс Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. значениями int от -128 до 127. И в дальнейшем, если нужно упаковать int - значение, просто проверяется: а не входит ли оно в указанный диапазон. Если входит - то в качестве объекта просто возвращается ссылка на объект IntegerCache.cache плюс смещение, равное значению int, если не входит - увы, создаем новый объект Integer: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Однако! 2 грсв: респект! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2006, 07:53 |
|
||
|
autoboxing: простая но полезная головоломка
|
|||
|---|---|---|---|
|
#18+
Т.е. упаковка маленьких чисел работает быстрее? Я давно об этом подозревал! Теперь жду подтверждения подозрения, что отрицательные числа занимают в памяти меньше места, чем положительные. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2006, 08:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33495960&tid=2150410]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 290ms |

| 0 / 0 |
