Вопросы для интервью по Java (серия) — Обновления Java

вступление

В обычном Java-собеседовании будет момент, когда интервьюер подумает:

Действительно ли этот парень/девушка понимает, что имеет в виду, когда говорит, что хочет использовать новые технологии и не очень хочет работать с Java 8?

Или это просто то, что они слышали где-то еще и не знают, почему и какие новые функции были добавлены за последние (почти) 9 лет.

💯 Более того, знание того, что изменилось и какие новые функции появились, доказывает, что вы заинтересованы в своей сфере деятельности!

Смотрите больше таких историй на new-spike.net! 🚀

Новые возможности

❗️ Заметки

1️⃣ LTS означает версию с длительной поддержкой.

Интервал поддержки для LTS версии обычно 8 лет.

Для Ява 8 хотя из-за его широкого распространения время поддержки было продлено как минимум до 2030 года.

2️⃣ Preview feature Функции, добавленные для экспериментов разработчиков, но не готовые к использованию в производственной среде. Это означает, что их можно удалить или сделать постоянными в будущих выпусках.

🔵 Java 8 (LTS)

Ява 8 был выпущен в марте 2014 года и привнес в язык несколько новых функций и улучшений.

🔸 Streams API

🔸 Lambda expressions

🔸 Optional — Вводит новый способ обработки null переменные.

🔵 Ява 9

Ява 9 был выпущен в сентябре 2017 года и внес ряд серьезных изменений в язык.

🔸 Modular System – Jigsaw Project — Предоставляет возможность запускать приложения на устройствах с малой доступной памятью. JVM может работать только с необходимыми модулями.

🔸 Interface Private Method — используется для разделения больших default методы.

🔸 Immutable SetSet.of()

🔵 Ява 10

Ява 10 был выпущен 20 марта 2018 года.

Среди улучшений, которые пришли с ним, мы можем перечислить:

🔸 Local Variable Type Inference позволяет разработчикам использовать var ключевое слово для определения типа локальной переменной.

🔸 Optional.orElseThrow() NoSuchElementException бросается, если значение отсутствует.

Смотрите больше таких историй на new-spike.net! 🚀

🔵 Java 11 (LTS)

Ява 11 был выпущен в сентябре 2018 года. Среди улучшений можно отметить:

🔸 New String methods ( isBlank, lines, stripи т. д.)

🔸 New File methods ( writeString, readString)

🔸 Collection.toArray()

🔸 Not Predicate

🔸 HTTP Client — Представлено в Java 9 в качестве функции предварительного просмотра. Стало стандартной функцией в Java 11.

🔵 Ява 12

Ява 12 был выпущен в марте 2019 года и принес новые функции предварительного просмотра.

🔸 New Switch syntax

boolean isBird = switch (animal) {
    case "PIDGEON", "PENGUIN", "EAGLE" -> true;
    case "DOG", "CAT" -> false;
    default -> throw new IllegalArgumentException("Don't know what a " + animal + " is.");
};

🔸 Text Blocks — Более приятный способ писать большие куски текста.

String text = """
                Text
                Block
            """;

🔵 Ява 13

Ява 13 был выпущен в сентябре 2019 года. Этот JDK принес:

🔸 Обновления для Switch Expressions

🔸 Обновления для Text Blocks

🔵 Ява 14

Ява 14 был выпущен в марте 2020 года.

🔸 Records — новый тип объекта, предназначенный для DTO.

public record PersonData(String firstName, String lastName) {}

🔸 Specific NullPointerExceptions — Начиная с этой версии, вы будете знать, какой объект был на самом деле null.

public record PersonData(String firstName, String lastName) {}

...
PersonData personData = null;
personData.getFirstName(); // this line will throw a NullPointerException 

// Error message
// Cannot invoke "PersonData.getFirstName()" because the return value of "java.util.List.get(int)" is null

🔵 Ява 15

Ява 15 прибыл в сентябре 2020 года и привез:

🔸 Обновления для Records

🔸 Sealed Classes

Смотрите больше таких историй на new-spike.net! 🚀

🔵 Ява 16

Java 16 была выпущена в марте 2021 г. Важные обновления

🔸 Добавлен новый метод Stream API -> .toList()

🔸 Обновления до Records

🔵 Java 17 (LTS)

Java 17 была выпущена в сентябре 2021 года.

Наряду с некоторыми другими обновлениями в некоторых предварительных версиях наиболее важным обновлением было изменение модели выпуска.

Ранее, LTS версии выходили с разницей в 3 года, а теперь она была изменена на 2.

Это означает, что следующий LTS версия должна быть Java 21 который планируется осуществить в сентябре 2023 года.

Смотрите больше таких историй на new-spike.net! 🚀

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *