|
|
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
когда garbage collector сможет забрать объект? если ссылка на него все ещё имеется но не используется, он не сможет ее забрать? например psvm () { MyClass mc = new MyClass(); и тут 1000000000000 действий которые жрут память, mc вообще никогда и нигде больше по коду не используется } gc() никогда его не релизнет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 01:33:35 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
по идее да(т.е. не удалит из памяти) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 01:35:16 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
почему? он же компилит все, знает что и куда пойдет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 01:37:52 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
пока метод не завершится объект собран не будет чтобы он собрался надо явно приравнять его к null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 01:43:56 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
ясно. я проиграл. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 01:50:19 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am Iясно. я проиграл. :) Не факт. Помимо сборщика мусора еще JIT есть с хитрыми оптимизациями, который вообще такую инстанцианцию может выкинуть из исполняемого кода. Может быть ленивая инициализация. Наконец, сам gc скорее всего будет вызван до окончания метода. Если этот gc использует генерации (а сановский именно таков), то твой инстанс - первый кандидат на отстрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 02:11:38 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Как мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 02:14:10 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am IКак мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) Никак. В яве нет ручного управления памятью. Метод finalize может и вовсе не быть вызван - HotSpot - хитрая штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 11:31:21 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am Iкогда garbage collector сможет забрать объект? если ссылка на него все ещё имеется но не используется, он не сможет ее забрать? например Код: plaintext 1. 2. 3. 4. gc() никогда его не релизнет? Попробуй использовать в качестве ссылки на mc - SoftReference, в этом случае сборщик мусора удалит сей объект если не хватит памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 13:43:45 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
PassingBy Может быть ленивая инициализация. А можно поподробнее... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 13:46:39 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am IКак мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) ээ..что такое sout ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:11:15 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Primax Who am IКак мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) ээ..что такое sout ? System.out("Got it!"); Чтобы было видно если объект был собран коллектором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 18:51:24 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am IКак мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) Вообще, вызов Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 19:38:00 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Tsahes Who am IКак мне сделать так чтобы он очистил его? (Переопределил finalize и поставил туда sout) Вообще, вызов Код: plaintext Я все это делаю + загружаю память по максимуму. sout не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 19:38:59 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
попробуй написать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 21:27:42 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
untitledпопробуй написать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. Интересно, а чем занимается класс MyClass? Он действительно так много ест памяти на самом деле? Может утечки памяти в другом месте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 22:23:08 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
unicornmirage untitledпопробуй написать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. Интересно, а чем занимается класс MyClass? Он действительно так много ест памяти на самом деле? Может утечки памяти в другом месте? Прошу прощения если говорю непонятно. :) Я знаю что если присвоить null, то коллектор заберет его. Вопрос в том что он не забирает его если на него есть ссылка. Почему? Ведь логично же что уже можно его забрать. :) Вот в чем вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 22:32:26 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
Who am I Прошу прощения если говорю непонятно. :) Я знаю что если присвоить null, то коллектор заберет его. Вопрос в том что он не забирает его если на него есть ссылка. Почему? Ведь логично же что уже можно его забрать. :) Вот в чем вопрос. Ну вот поэтому, как мне кажется, для ситуаций, которые Вы подняли Вашим вопросом, и существуют Sowt- и WeakReference.. Вы сами проектируете ваше приложение, структуру и алгоритмы, и поэтому на Вас также лежит ответственность за распредление ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 22:44:02 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
unicornmirage Who am I Прошу прощения если говорю непонятно. :) Я знаю что если присвоить null, то коллектор заберет его. Вопрос в том что он не забирает его если на него есть ссылка. Почему? Ведь логично же что уже можно его забрать. :) Вот в чем вопрос. Ну вот поэтому, как мне кажется, для ситуаций, которые Вы подняли Вашим вопросом, и существуют Sowt- и WeakReference.. Вы сами проектируете ваше приложение, структуру и алгоритмы, и поэтому на Вас также лежит ответственность за распредление ресурсов. Да, я уже понял. Спасибо большое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 22:55:04 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
PassingBy Если этот gc использует генерации (а сановский именно таков), то твой инстанс - первый кандидат на отстрел. А что это за штука такая - генерации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 00:31:28 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
PassingBy Может быть ленивая инициализация. А также хотелось бы поподробнее узнать что это такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 00:40:31 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
chand0s PassingBy Если этот gc использует генерации (а сановский именно таков), то твой инстанс - первый кандидат на отстрел. А что это за штука такая - генерации? http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html#1.1.%20Generations%7Coutline - тут все рассказано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 17:35:43 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
unicornmirage PassingBy Может быть ленивая инициализация. А также хотелось бы поподробнее узнать что это такое? Это я ерунду сказал :) Ява - жадный язык, и никакой HotSpot этого не изменит. Но автор топика может тем не менее надеяться на dead code elimination после очередной перекомпиляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2007, 17:37:18 |
|
||
|
самый_ламерский_вопрос
|
|||
|---|---|---|---|
|
#18+
если mc нигде не используется почему бы не сделать mc=NULL и потом System.gc(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2007, 14:13:11 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34779433&tid=2144678]: |
0ms |
get settings: |
14ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 319ms |
| total: | 510ms |

| 0 / 0 |
