junior
Какие нововведения появились в Java 8 и JDK 8?
Java 8 — крупнейший релиз платформы, который привнёс элементы функционального программирования и модернизировал стандартную библиотеку. Ниже перечислены основные нововведения, разбитые по категориям.
Язык и компилятор
- Лямбда-выражения
- Ссылки на методы и конструкторы
- Функциональные интерфейсы и аннотация
@FunctionalInterface defaultиstaticметоды в интерфейсах- Повторяемые аннотации (
@Repeatable) - Аннотации на типах данных (Type Annotations)
- Рефлексия для параметров методов
Стандартная библиотека
- Stream API для декларативной обработки коллекций
- Новый Date/Time API (
java.time) взамен устаревшихDate/Calendar - Класс
Optionalдля безопасной работы сnull StringJoinerиString.join()- Стандартный класс
Base64 - Новые методы в
Map(putIfAbsent,compute,mergeи др.) - Параллельная сортировка массивов (
Arrays.parallelSort) - Поддержка беззнаковой арифметики в
Integer/Long
Производительность и безопасность
- Удалён PermGen, мета-данные классов перенесены в Metaspace
- Улучшена производительность
String(byte[], *)иgetBytes() - Поддержка SSL/TLS Server Name Indication (SNI) в JSSE
- Алгоритм SHA-224, улучшенное хранилище ключей (KeyStore)
Инструментарий
- JavaScript-движок Nashorn и утилита
jjs - Утилита
jdepsдля анализа зависимостей.class-файлов - Команда
javaможет запускать JavaFX-приложения - Удалён мост JDBC-ODBC
На собеседовании: обычно не требуют перечислить всё, но ожидают упоминание лямбд, Stream API, нового Date/Time API,
default-методов иOptional. Именно эти пять фич определили облик современного Java-кода.