170 похожих чатов

Почему не диспоузится? Функция возвращает WeakReference<StringBuilder>

31 ответов

27 просмотров

в релизе тоже?

Mikhail-Izmailov Автор вопроса
Сергей
в релизе тоже?

Не пробовал, просто для себя weak потестить решил

Во первых - переменная weakSb никуда не исчезает между итерациями цикла, а только перезаписывается. Вот первая сильная ссылка

SomebodyOdd
Во первых - переменная weakSb никуда не исчезает м...

затестил у себя в релизе - вывело только раз

Возможно, это потому, что jit решил, что ему не нужна локальная переменная, потому что она всегда переписывается результатом вызова

Mikhail-Izmailov Автор вопроса

спасибо, у меня тоже так прошло в релизе

возможно, поэтому все эти штучки с ссылками лучше сразу на релизе проверять, от того что на дебаге почти все переменные и объекты живут максимальное время

Сергей
возможно, поэтому все эти штучки с ссылками лучше ...

А ещё лучше - не трогать ни GC, ни слабые ссылки совсем, пока вот вообще другого способа не будет =) В том же js во всех документациях стотыщ предупреждений и советов не юзать.

Mikhail-Izmailov Автор вопроса
SomebodyOdd
А ещё лучше - не трогать ни GC, ни слабые ссылки с...

Для собеса читал про них, решил затестить ) Спасибо большое, теперь как минимум про интернирование почитаю + знаю, что в дебаге такие штуки лучше не тестить )

Если уж прожили без слабых ссылок всё это время, то и ещё годиков 5 проживёте. Я буду сильно удивлён, если у вас про них спросят, ниша в нише же

Mikhail-Izmailov Автор вопроса
SomebodyOdd
Если уж прожили без слабых ссылок всё это время, т...

Ну я могу этим козырнуть на собесе сам Отвечая на вопрос "Как работает GC" можно будет сказать, что мол проходя по графу обьектов на этапе маркировки GC помечает обьекты на которые не указывает ни одна strong ссылка, или указывают только одна или несколько слабых ссылок" и в глазах собесудующего я явно буду выглядеть более компетентным )

Mikhail Izmailov
Ну я могу этим козырнуть на собесе сам Отвечая на ...

и тут не до конца правильно, так как могут быть циклы

Mikhail Izmailov
screenshot Вы про это?

я про self-references

Mikhail-Izmailov Автор вопроса

И что будет тогда, просто интересно? По идее он пометится как недостижимый, если на него не указывает какая-нибудь ещё strong ссылка

Mikhail Izmailov
И что будет тогда, просто интересно? По идее он по...

да, GC умеет с такими случаями справляться, поэтому там не просто наивный подсчет ссылок как некоторые говорят, все намного сложнее

Mikhail Izmailov
Ну я могу этим козырнуть на собесе сам Отвечая на ...

у меня товарищь на собесах на вопрос "как работает GC" отвечает "примерно так - жжжжж....". нормальные поймут. ибо этот вопрос уже мувитон на собесах по шарпу

Mikhail-Izmailov Автор вопроса
illusion
Читай кокосу

в обозримом будущем в планах есть, но первостепенно подготовка к собесу и поиск работки)

Mikhail Izmailov
у джуна явно спросят ))

Если ты начнешь про какие то графы втирать и тд, я бы подумал, что зазубрил просто

Mikhail Izmailov
у джуна явно спросят ))

по собесам - раньше все по Рихтеру вопросы были (ну процентов 80 точно), сейчас модно спрашивать по книжке "карьера программиста". ибо там еще и всякие алгоритмы и прочее

Mikhail-Izmailov Автор вопроса
Pavel Trifonov
по собесам - раньше все по Рихтеру вопросы были (н...

Для написания крудо-апишек под SPA фронт самое то 👍

В дебаге или в релизе?

Mikhail-Izmailov Автор вопроса
Dr. Friedrich von Never
В дебаге или в релизе?

Уже решился вопрос. Это в дебаге ссылка удерживалась) В релизе всё круто

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта