Где слабые и мягкие ссылки используются в программировании Java EE - PullRequest
1 голос
/ 06 декабря 2011

Я разработчик Java EE, но я не знаю, где в повседневном программировании можно использовать слабые или мягкие ссылки.

Ответы [ 2 ]

0 голосов
/ 27 августа 2013

Вы обычно не используете их в повседневном программировании (по крайней мере, я так не думаю, и я думаю, что большинство из нас этого не делают), но они могут быть очень полезны!

практические сценарии для менябудет:

WeakReference для целей отладки (например, отслеживание открытых соединений с базой данных).

SoftReference для быстрого и грязного кэша (например, кэширование больших Java-POJO, которые «дорого» создавать ине должен быть немедленно очищен).

PhantomReference действительно невыполним по моему мнению.

0 голосов
/ 06 декабря 2011

Есть много хороших ссылок (хороший каламбур!), И я предлагаю вам Google Боб Ли, «призрак в виртуальной машине».

В двух словах, SoftReference иногда полезен как быстрый и грязный кеш, но они не так полезны. WeakRefences не для кэширования, но ваши списки слушателей должны обязательно использовать их, чтобы ненужные слушатели могли быть собраны мусором.

...