Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Java 10: 70+ новых API и улучшений

JDK 10 добавил более 70 новых API и опций. Основные улучшения:

Optional.orElseThrow()

Новый метод orElseThrow() в java.util.Optional — предпочтительная альтернатива get() (бросает NoSuchElementException, если значение отсутствует).

API для создания неизменяемых коллекций

Отключение отслеживания последнего использования JRE

Флаг jdk.disableLastUsageTracking отключает трекинг последнего использования JRE для запущенной VM.

Хеширование паролей в jmxremote.password

Пароли в текстовом виде в файле jmxremote.password теперь перезаписываются их SHA3-512 хешами JMX-агентом.

Javadoc: поддержка нескольких стилей

Опция --add-stylesheet позволяет использовать несколько CSS при генерации документации.

Javadoc: группировка переопределённых методов

Опция --overridden-methods=value группирует наследуемые методы, не меняющие спецификацию, вместо отдельного документирования.

Javadoc: инлайн-тег {@summary}

Тег {@summary ...} задаёт текст для краткого описания API. По умолчанию берётся первое предложение.

Пример: неизменяемые коллекции

import java.util.List;
import java.util.stream.Collectors;

public class Tester {
    public static void main(String[] args) {
        var ids = List.of(1, 2, 3, 4, 5);
        try {
            List<Integer> copyOfIds = List.copyOf(ids);
            copyOfIds.add(6); // UnsupportedOperationException
        } catch (UnsupportedOperationException e) {
            System.out.println("Collection is not modifiable.");
        }
        try {
            List<Integer> evenNumbers = ids.stream()
                .filter(i -> i % 2 == 0)
                .collect(Collectors.toUnmodifiableList());
            evenNumbers.add(6); // UnsupportedOperationException
        } catch (UnsupportedOperationException e) {
            System.out.println("Collection is not modifiable.");
        }
    }
}

Вывод

Collection is not modifiable.
Collection is not modifiable.

java

  1. Освоение операторов Java: типы, синтаксис и практические примеры
  2. Комментарии в Java: типы, использование и лучшие практики
  3. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  4. Освоение строк в Java: создание, методы и лучшие практики
  5. Интерфейсы в Java: концепции, реализация и лучшие практики
  6. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  7. Try-with-resources в Java: автоматическое управление ресурсами
  8. Аннотации в Java: типы, размещение и практические примеры
  9. Assertions в Java: практическое руководство по обнаружению багов и обеспечению надежности кода
  10. Освоение Java Autoboxing и Unboxing: практические примеры и лучшие практики