1. пусть есть временная переменная tmp, ей что-то присвоено
2. ссылку на эту переменную отдают какому-то долгоживущему объекту obj, прикапывают в каком-нибудь его поле obj.member
3. мы выходим из области видимости для tmp на этом шаге в языке без GC tmp уничтожается на этом шаге в языке с GC tmp остается т.к. на него есть ссылка из obj
4. мы пытаемся использовать obj.member на этом шаге в языке без GC возможен краш на этом шаге в языке с GC краша не будет, но будет обращение к вроде как валидному объекту, который давно не нужен и, скорее всего, никак не соответствует происходящему
no subject
Date: 2015-01-11 07:12 pm (UTC)1. пусть есть временная переменная tmp, ей что-то присвоено
2. ссылку на эту переменную отдают какому-то долгоживущему объекту obj, прикапывают в каком-нибудь его поле obj.member
3. мы выходим из области видимости для tmp
на этом шаге в языке без GC tmp уничтожается
на этом шаге в языке с GC tmp остается т.к. на него есть ссылка из obj
4. мы пытаемся использовать obj.member
на этом шаге в языке без GC возможен краш
на этом шаге в языке с GC краша не будет, но будет обращение к вроде как валидному объекту, который давно не нужен и, скорее всего, никак не соответствует происходящему