По большому счету в Java 19 ничего действительно кардинального добавлено не было. В основном небольшие изменения. Этим он напоминает релиз Java 12, в котором тоже были лишь небольшие изменения, а всё остальное так и осталось в preview. Так что можно пока отдохнуть и ничего не учить. В окончательном релизе все нововведения, описанные ниже, могут измениться. Лучше ознакомьтесь с моим учебником Java, а ещё лучше с книгой.
Виртуальные потоки
Только в режиме предварительного API. Окончательно ещё не вошли. Виртуальные потоки представляют собой легковесные потоки. В отличие от стандартных потоков ОС их можно создавать в огромном количестве. Потенциально планируется, что сильно переделывать старый код не придётся, так как они тоже будут потомками Thread.
Шаблоны записей
Шаблоны записей тоже пока только preview. Окончательно в релиз не вошли. В принципе, можно пока не изучать.
Пример старого кода:
1 2 3 4 5 6 7 |
record Pair(int x, int y) {} static void printSum(Object o) { if (o instanceof Pair p) { System.out.println(p.x() + p.y()); } } |
Этот же код, но с шаблонами записей:
1 2 3 4 5 6 7 |
record Pair(int x, int y) {} static void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x + y); } } |