|
|
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
Представьте себе такую ситуацию, есть функция Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Собственно корректно ли я освобождаю память из-под мапы или нужно так: Код: java 1. 2. В общем как корректно будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 11:42:38 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
можно спокойно и без null обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 11:49:26 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
Забыл что тут редактировать сообщения нельзя :) Когда вы делаете Код: java 1. , если вы больше ни не наплодили ссылок на этот HashMap, то на объект(старый HashMap) больше ничто не указывает и GC может спокойно его "стырить". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 11:52:54 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 12:55:37 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
grasoff.net, читал что это просто очистит мапу, но никак не освободит память!? т.е. если там было стотыщмильёнов элементов, они так там и будут там но будут null вот так делает HashMap Код: java 1. 2. 3. 4. 5. 6. 7. если там было 1кк записей то получается лишняя трата времени на проход по Entry и их null'ение. быстрее просто "похерить" ссылку или я ошибаюсь? не силён в теории :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 13:50:48 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
DDiverили я ошибаюсь? не силён в теории :( Не ошибаетесь. Проще создать новый HashMap. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:00:22 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczDDiverили я ошибаюсь? не силён в теории :( Не ошибаетесь. Проще создать новый HashMap. И быстрее во всех отношениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:00:47 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
DDiver, GC будет смотреть не только на то, есть ли ссылки на map, но и есть ли ссылки на его элементы и, соответственно память освобождается по-элементно. Т.е. трудно, не зная подробностей работы GC, определить какой метод эффективней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:04:50 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
DDiverесли там было 1кк записей то получается лишняя трата времени на проход по Entry и их null'ениетак-то это копейки. даже не копейки ) а вот new HashMap() создаст новый объект, при добавлении в который будут вызываться более тяжелые операции по увеличиванию внутреннего массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:09:57 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinDDiver, GC будет смотреть не только на то, есть ли ссылки на map, но и есть ли ссылки на его элементы и, соответственно память освобождается по-элементно. Т.е. трудно, не зная подробностей работы GC, определить какой метод эффективней Это не совсем там. Современные GC сканируют только живые объекты. Всё остальное прибивается охапкой. Поэтому на производительность GC чаще влияет количество живых объектов, а не количество удаляемых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:20:30 |
|
||
|
Как освободить память из под объекта внутри функции.
|
|||
|---|---|---|---|
|
#18+
grasoff.netа вот new HashMap() создаст новый объект, при добавлении в который будут вызываться более тяжелые операции по увеличиванию внутреннего массива Так это отдельный разговор. public HashMap(int initialCapacity, float loadFactor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 14:24:43 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=299&tid=2132174]: |
0ms |
get settings: |
15ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
35ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
3ms |
| others: | 348ms |
| total: | 518ms |

| 0 / 0 |
