
Size: a a a







private – доступ только непосредственно из этого класса и его внутренних/вложенных классов;protected – доступ из всех классов этого пакета и всех наследников;public – никаких ограничений доступа;


Collections.unmodifiable*() для различных типов коллекций. Такой метод вернет read-only обертку над переданной коллекцией. Так же как с Collections.synchronized*(), внутри используется не копия, а оригинальная коллекция.Collections.empty*(). Он возвращает немодифицируемую пустую коллекцию. Попытка добавить элемент как и в случае unmodifiable приведет к UnsupportedOperationException.



Iterator. Они определяют, как поведет себя итератор при изменении перебираемой последовательности.ArrayList, при изменении он выбрасывает ConcurrentModificationException. Рекомендуется не основывать логику программы на fail-fast отказах, и использовать их только как признак ошибки реализации.ConcurrentHashMap работает с копией данных, он не выбросит исключение при изменении коллекции, но может не увидеть часть свежих изменений. Плата за отсутствие ошибок других fail-safe итераторов может отличаться, детали всегда можно найти в документации коллекций.

Date (дата+время), Calendar (конвертация и манипуляция), TimeZone (смещение часового пояса). Эти классы обладали рядом известных проблем. Экземпляры были изменяемыми, что делало их потоко-небезопасными. Работа с датами через календарь была неудобной, не было нормальной поддержки часовых поясов и интернационализации.LocalDate, LocalTime и LocalDateTime – локальные для пользователя дата/время.ZonedDateTime – дата/время в определенной часовой зоне.Period и Duration – периоды дат и времени соответственно.Date и Time пакета java.sql. Это представление даты и времени для обмена данными через JDBC. Не стоит пользоваться ими вне уровня доступа к данным, хотя бы потому, что это классы-наследники старого java.util.Date.

KeyFactory – основной класс платформы Java для работы с криптографическими ключами. Набор реализаций для этой фабрики подключается с помощью механизма SPI.KeyFactory занимается конвертацией спецификации ключа в сам публичный или приватный ключ, и обратно.KeySpec, – входные данные ключа. Это может быть например модуль и экспонента приватного ключа RSA.PublicKey и PrivateKey – наследники общего Key.