[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-11-25-kakie-klyuchevye-novovvedeniya-poyavilis-v-java-11":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},396,"kakie-klyuchevye-novovvedeniya-poyavilis-v-java-11",11,"java-11-25","Java 11–25","🆕","Какие ключевые нововведения появились в Java 11?","Java 11 — первый LTS-релиз после Java 8 в новой модели релизов (каждые 6 месяцев). Многие проекты мигрировали напрямую с Java 8 на Java 11.\n\n### Основные нововведения\n\n| Категория | Нововведение |\n|-----------|-------------|\n| API | HttpClient API (стандартный HTTP\u002F2 клиент) |\n| Язык | `var` в лямбда-параметрах |\n| API | Новые методы `String`: `isBlank()`, `lines()`, `strip()`, `repeat()` |\n| API | `Optional.isEmpty()` |\n| API | `Files.readString()`, `Files.writeString()` |\n| Запуск | Запуск `.java` файлов без явной компиляции |\n| Удалено | Java EE модули (JAXB, JAX-WS, CORBA) |\n| Удалено | JavaFX (вынесен в отдельный проект) |\n| GC | Epsilon GC (no-op сборщик), ZGC (экспериментальный) |\n| Удалено | Nashorn JavaScript Engine (deprecated) |\n\n### Новые методы коллекций и файлов\n\n```java\n\u002F\u002F Collection.toArray() с IntFunction\nList\u003CString> list = List.of(\"a\", \"b\", \"c\");\nString[] array = list.toArray(String[]::new); \u002F\u002F вместо list.toArray(new String[0])\n\n\u002F\u002F Files — чтение\u002Fзапись строк\nString content = Files.readString(Path.of(\"file.txt\"));\nFiles.writeString(Path.of(\"output.txt\"), \"Hello Java 11\");\n\n\u002F\u002F Optional.isEmpty() — инверсия isPresent()\nOptional\u003CString> opt = Optional.empty();\nif (opt.isEmpty()) { ... } \u002F\u002F вместо !opt.isPresent()\n\n\u002F\u002F Predicate.not() — инверсия предиката\nList\u003CString> nonBlank = lines.stream()\n    .filter(Predicate.not(String::isBlank))\n    .toList();\n```\n\n### Частые ошибки\n\n- Миграция с Java 8 без проверки удалённых модулей — JAXB, JAX-WS больше не в JDK; нужно добавить зависимости\n- Путать `strip()` и `trim()` — `strip()` корректно обрабатывает Unicode-пробелы, `trim()` — только ASCII\n- Не обновлять библиотеки при миграции — многие библиотеки (Lombok, Mockito, ASM) требуют обновления для Java 11+\n\n### Как используется в 2026\n\n- Java 11 end-of-life для бесплатной поддержки у большинства вендоров\n- Рекомендуется миграция на Java 21 или 25; новые проекты на Java 11 не стартуют\n- Многие legacy-проекты всё ещё на Java 11, постепенно мигрируют\n\n> **На собеседовании:** интервьюер ожидает, что вы не просто перечислите новые API, а знаете, какие модули были удалены и почему миграция с Java 8 на 11 нетривиальна. Частая ошибка — забыть упомянуть удаление Java EE модулей (JAXB, JAX-WS).","","junior",[15],"java-modern",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Какие ключевые нововведения появились в Java 11? — Gymterview","Java 11 — первый LTS-релиз после Java 8 в новой модели релизов (каждые 6 месяцев). Многие проекты мигрировали напрямую с Java 8 на Java 11.","Java 11 — первый LTS-релиз после Java 8 в новой модели релизов (каждые 6 месяцев). Многие проекты мигрировали напрямую с",[15,13],true]