Nawiązanie do https://4programmers.net/Mikroblogi/View/125655 .
O ile w przypadku zliczania referencji WeakRefy/Pointery wydają się być całkiem przydatne to za bardzo nie widzę zastosować dla języków z tracing gc. Jedyne co mi przychodzi do głowy to:
- wewnętrzne, szyte na miarę niskopoziomowe pule obiektów do konkretnych zastosować
- różnego rodzaje cache, ale w normalnych, biznesowych przypadkach lepiej chyba użyć gotowej biblioteki (np. Caffeine w Javie), który robi to pod spodem. W takim przypadku można powiedzieć, że Weak/Soft referencje są detalem implementacyjnym, bo nie używamy ich API
- jak mamy burdel w kodzie i za bardzo nie ogarniamy czemu obiekty nam nie znikają albo chcemy dodać jakaś dodatkową informację do obiektu bez zmiany API i samego obiektu. Fajna opcja, ale chyba lepiej ogarnąć kod, żeby to nie było konieczne
-
ReferenceQueue
iPhantomReference
z Javy: fajnie brzmi, ale nie widzę praktycznych zastosować poza wspomnianymi cachami, które nie są oznaką, że coś poszło nie tak z designem
W jakich przypadkach użyliście tego ficzera?