Как мне заполнить список часовых поясов IANA / Olson из Noda Time?

Независимо от ответа, полагаясь на определенную стратегию, ваше программное обеспечение будет ненадежным, поскольку каждая реализация JVM может отличаться. Даже для данной JVM настройка его по-разному может изменить точную стратегию и сломать ваше программное обеспечение. Короче говоря, ошибка заключается в том, чтобы полагаться на определенную стратегию.

Каким ресурсом является управление вашим кешем? Если его чистый кусок выделяет объект, тогда стратегия не должна иметь значения. Использование ReferenceQueue может помочь вам получить уведомление, когда SoftReference будет очищено.

Если тип ресурса не является только выделенным кучей объектом, тогда вы должны потребовать от своих пользователей вызова метода явной освобождения, т. Е. Closeable.close (). Чтобы защитить от «забытых» вызовов этого метода выпуска, вы можете рассмотреть возможность применения метода finalize (), но остерегайтесь его побочных эффектов. Для получения дополнительной информации об этом, я рекомендую прочитать «Пункт 7: Избегайте финализаторов» из «Эффективной Java (2-го издания) Джошуа Блоха».

16
задан Matt Johnson 3 December 2013 в 19:52
поделиться