Ответ
Имею практический опыт разработки на Java 11, включая использование ключевых нововведений и миграцию проектов с более ранних версий.
Основные использованные фичи:
- Локальные переменные в лямбда-выражениях (
var): Упрощает чтение кода при использовании сложных дженериков.var list = List.of("A", "B", "C"); list.forEach((var s) -> System.out.println(s.toLowerCase())); - Новый HTTP Client (java.net.http): Полноценный, поддерживающий HTTP/2 и WebSocket, асинхронный и синхронный API.
HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.example.com/data")) .header("Content-Type", "application/json") .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); - Новые методы в String API:
isBlank(),lines(),repeat(),strip()(Unicode-корректные аналогиtrim()). - Модульная система (JPMS): Понимание принципов, работа с
module-info.java. - Экспериментальные сборщики мусора: Ознакомление с низколатентными GC: ZGC и Shenandoah.
Почему это важно: Java 11 — LTS-версия, предлагающая улучшения производительности, безопасности и новые API для современной разработки.