Skip to content

Commit 4fcc4d5

Browse files
Copilotbrunoborges
andauthored
Add Russian translations for tooling patterns
Translate all 8 tooling content files from German to Russian: - aot-class-preloading.yaml - built-in-http-server.yaml - compact-object-headers.yaml - jfr-profiling.yaml - jshell-prototyping.yaml - junit6-with-jspecify.yaml - multi-file-source.yaml - single-file-execution.yaml Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
1 parent b6bd7ba commit 4fcc4d5

File tree

8 files changed

+177
-0
lines changed

8 files changed

+177
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
title: AOT-предзагрузка классов
2+
oldApproach: Холодный старт при каждом запуске
3+
modernApproach: AOT-кэш
4+
summary: Кэширование загрузки и компиляции классов для мгновенного запуска.
5+
explanation: AOT-предзагрузка классов сохраняет загруженные и связанные классы из
6+
обучающего прогона в кэш. При последующих запусках классы загружаются из кэша,
7+
пропуская этапы верификации и компоновки. В сочетании с AOT-компиляцией это
8+
резко сокращает время запуска.
9+
whyModernWins:
10+
- icon:
11+
title: Более быстрый запуск
12+
desc: Пропуск загрузки, верификации и компоновки классов.
13+
- icon: 📦
14+
title: Кэшированное состояние
15+
desc: Обучающий прогон фиксирует оптимальное состояние классов.
16+
- icon: 🔧
17+
title: Без изменений в коде
18+
desc: Работает с существующими приложениями — достаточно добавить флаги JVM.
19+
support:
20+
description: Доступно как стандартная функция в JDK 25 LTS (JEP 514/515, сентябрь 2025).
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
title: Встроенный HTTP-сервер
2+
oldApproach: Внешний сервер / фреймворк
3+
modernApproach: CLI jwebserver
4+
summary: Java 18 включает встроенный минималистичный HTTP-сервер для прототипирования
5+
и раздачи файлов.
6+
explanation: В JDK 18 добавлен простой HTTP-сервер файлов без зависимостей, доступный
7+
через инструмент командной строки jwebserver или API SimpleFileServer. Он раздаёт
8+
статические файлы из указанного каталога без какой-либо конфигурации. CLI-инструмент
9+
идеально подходит для быстрого прототипирования, тестирования и ситуативного
10+
обмена файлами — внешние зависимости или фреймворки не нужны. API позволяет
11+
использовать его программно с настраиваемыми обработчиками и уровнями вывода.
12+
whyModernWins:
13+
- icon: 🚀
14+
title: Никакой настройки
15+
desc: "Запустите jwebserver в любом каталоге — установка, конфигурация и зависимости\
16+
\ не нужны."
17+
- icon: 📦
18+
title: Встроен в JDK
19+
desc: Поставляется с каждой установкой JDK 18+, всегда доступен на любой машине с Java.
20+
- icon: 🧪
21+
title: Идеально для прототипирования
22+
desc: Мгновенная раздача статических файлов для тестирования HTML, API или
23+
фронтенд-разработки.
24+
support:
25+
description: Доступно начиная с JDK 18 (март 2022)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
title: Компактные заголовки объектов
2+
oldApproach: 128-битный заголовок
3+
modernApproach: 64-битный заголовок
4+
summary: Уменьшение размера заголовков объектов вдвое для повышения плотности
5+
хранения и эффективности кэша.
6+
explanation: Компактные заголовки объектов сокращают накладные расходы на каждый
7+
объект со 128 бит до 64 бит на 64-битных платформах. Это экономит память и
8+
улучшает использование кэша, особенно для приложений с большим количеством
9+
небольших объектов.
10+
whyModernWins:
11+
- icon: 📦
12+
title: "Заголовки меньше на 50\u202F%"
13+
desc: 8 байт вместо 16 на каждый объект.
14+
- icon:
15+
title: Лучшее использование кэша
16+
desc: Больше объектов помещается в строки кэша процессора.
17+
- icon: 📊
18+
title: Более высокая плотность
19+
desc: Больше объектов в том же объёме кучи.
20+
support:
21+
description: Финализировано в JDK 25 LTS (JEP 519, сентябрь 2025).
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
title: JFR для профилирования
2+
oldApproach: Внешний профилировщик
3+
modernApproach: Java Flight Recorder
4+
summary: Профилирование любого Java-приложения встроенным Flight Recorder — без
5+
внешних инструментов.
6+
explanation: Java Flight Recorder (JFR) — инструмент профилирования, встроенный
7+
в JVM с минимальными накладными расходами. Он фиксирует события CPU, памяти,
8+
GC, ввода-вывода, потоков и пользовательские события с минимальным влиянием
9+
на производительность (~1%).
10+
whyModernWins:
11+
- icon: 🆓
12+
title: Встроен
13+
desc: Никаких внешних профилировщиков для установки или лицензирования.
14+
- icon:
15+
title: Минимальные накладные расходы
16+
desc: "~1\u202F% влияния на производительность — безопасно для использования\
17+
\ в продакшене."
18+
- icon: 📊
19+
title: Богатый набор событий
20+
desc: "CPU, память, GC, потоки, ввод-вывод, блокировки и пользовательские\
21+
\ события."
22+
support:
23+
description: Широко доступно начиная с JDK 9/11 (открытый исходный код с версии 11)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
title: JShell для прототипирования
2+
oldApproach: Создать файл + скомпилировать + запустить
3+
modernApproach: REPL JShell
4+
summary: Интерактивное тестирование выражений Java без создания файлов.
5+
explanation: JShell — это цикл чтения-вычисления-вывода (REPL) для Java. Тестируйте
6+
выражения, исследуйте API и прототипируйте код, не создавая файлы, не компилируя
7+
и не пишу метод main. Автодополнение по Tab и контекстная документация уже
8+
включены.
9+
whyModernWins:
10+
- icon:
11+
title: Мгновенная обратная связь
12+
desc: Введите выражение и сразу увидите результат.
13+
- icon: 📝
14+
title: Файлы не нужны
15+
desc: Никаких .java-файлов, никакого шага компиляции.
16+
- icon: 🔍
17+
title: Изучение API
18+
desc: Автодополнение по Tab помогает обнаруживать методы и параметры.
19+
support:
20+
description: Широко доступно начиная с JDK 9 (сентябрь 2017)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
title: JUnit 6 с типобезопасностью JSpecify по null
2+
oldApproach: API без аннотаций
3+
modernApproach: "@NullMarked API"
4+
summary: "JUnit 6 принимает @NullMarked из JSpecify, делая null-контракты явными\
5+
\ во всём Assertion API."
6+
explanation: "JUnit 5 поставлялся без стандартизированных аннотаций допустимости null,\
7+
\ поэтому разработчики вынуждены были догадываться, могут ли параметры или\
8+
\ возвращаемые значения методов утверждения быть null. JUnit 6 принимает JSpecify\
9+
\ для всего своего модуля: аннотация @NullMarked делает все неаннотированные\
10+
\ типы ненулевыми по умолчанию, а @Nullable отмечает исключения. Класс Assertions\
11+
\ явно аннотирует параметры — например, assertNull(@Nullable Object actual) и\
12+
\ fail(@Nullable String message), — благодаря чему IDE и статические анализаторы,\
13+
\ такие как NullAway и Error Prone, могут обнаруживать ошибки работы с null во\
14+
\ время компиляции, а не во время выполнения."
15+
whyModernWins:
16+
- icon: 📜
17+
title: Явные контракты
18+
desc: "@NullMarked в модуле JUnit 6 документирует семантику null прямо в API\
19+
\ — читать исходный код не нужно."
20+
- icon: 🛡️
21+
title: Безопасность на этапе компиляции
22+
desc: IDE и анализаторы предупреждают при передаче null туда, где ожидается
23+
ненулевое значение, выявляя ошибки до запуска тестов.
24+
- icon: 🌐
25+
title: Стандарт экосистемы
26+
desc: JSpecify принят Spring, Guava и другими библиотеками — единая семантика
27+
null во всём стеке.
28+
support:
29+
description: Доступно начиная с JUnit 6.0 (октябрь 2025, требуется Java 17+)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
title: Запуск многофайлового исходного кода
2+
oldApproach: Сначала скомпилировать всё
3+
modernApproach: Запуск исходного кода
4+
summary: Запуск многофайловых программ без явного шага компиляции.
5+
explanation: Java 22+ может автоматически компилировать при запуске связанные
6+
исходные файлы из .java-файла. Это делает небольшие многофайловые программы
7+
такими же простыми в запуске, как скрипты, без необходимости в Maven или Gradle.
8+
whyModernWins:
9+
- icon: 🚀
10+
title: Никакой настройки
11+
desc: Инструменты сборки для небольших многофайловых программ не нужны.
12+
- icon: 🔗
13+
title: Автоматическое разрешение зависимостей
14+
desc: Используемые классы находятся и компилируются автоматически.
15+
- icon: 📝
16+
title: Похоже на скрипт
17+
desc: Запускайте многофайловые программы как скрипты.
18+
support:
19+
description: Доступно начиная с JDK 22 (март 2024)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
title: Выполнение однофайловых программ
2+
oldApproach: Двухэтапная компиляция
3+
modernApproach: Прямой запуск
4+
summary: Запуск однофайловых Java-программ напрямую без javac.
5+
explanation: Лаунчер Java может скомпилировать и выполнить один исходный файл
6+
одной командой. В сочетании с поддержкой shebang в Unix Java-файлы могут
7+
работать как скрипты. Отдельный шаг компиляции не нужен.
8+
whyModernWins:
9+
- icon:
10+
title: Одна команда
11+
desc: "java File.java компилирует и выполняет за один шаг."
12+
- icon: 📝
13+
title: Похоже на скрипт
14+
desc: Добавьте строку shebang, чтобы превратить .java-файлы в исполняемые
15+
скрипты.
16+
- icon: 🎓
17+
title: Удобно для обучения
18+
desc: Новички могут сразу запускать код, не изучая инструменты сборки.
19+
support:
20+
description: Широко доступно начиная с JDK 11 (сентябрь 2018)

0 commit comments

Comments
 (0)