Объяснение
Generics сохраняют информацию о типе без дублирования алгоритмов. throws передаёт ошибку вызывающему коду. Коллекции со значимой семантикой могут использовать copy-on-write как оптимизацию реализации.
Задача для самостоятельного решения
Нужно ли считать копирование Array немедленным копированием всех элементов?
Показать разбор ответа
Нет: физическое хранилище может разделяться до изменения. Но наблюдаемая семантика должна оставаться семантикой независимых значений.