JarFile
Создание объекта JarFile
Для создания объекта
Java Learning👩💻
JarFile — это класс в Java, который используется для чтения содержимого JAR-файла. JAR-файл (Java ARchive) — это формат архива, который используется для объединения нескольких файлов Java (.class), а также других ресурсов, таких как изображения, звуки и текстовые файлы, в один файл.Создание объекта JarFile
Для создания объекта
JarFile необходимо использовать его конструктор, который принимает путь к JAR-файлу в качестве параметра.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Метод
MethodHandles.arrayElementVarHandle() создаёт VarHandle для работы с элементами массива, позволяя выполнять атомарные операции без блокировки.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Метод
StackWalker.walk() позволяет динамически получать информацию о текущем стеке вызовов, фильтровать его и анализировать. Это полезно для логирования, отладки и мониторинга исполнения кода.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Метод
Thread.onSpinWait() сообщает процессору, что поток ожидает без выполнения полезной работы. Это позволяет улучшить производительность в многопоточных приложениях, уменьшая нагрузку на процессор во время активного ожидания.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Метод
java.util.Timer() позволяет создавать таймеры, которые выполняют определенные задачи через заданные интервалы времени. Это полезно для планирования и отложенного выполнения задач без блокировки основного потока.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Что такое ThreadLocal в Java, и зачем он нужен?
Ответ
Пример использования
public class ThreadLocalExample {
private static final ThreadLocal<Integer> threadLocal = ThreadLocal.withInitial(() -> 0);
public static void main(String[] args) {
Runnable task = () -> {
threadLocal.set((int) (Math.random() * 100));
System.out.println(Thread.currentThread().getName() + ": " + threadLocal.get());
};
new Thread(task).start();
new Thread(task).start();
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Пояснение
Метод split(",") разделяет строку "apple,banana,orange" по запятой, создавая массив ["apple", "banana", "orange"]. Длина массива — 3, а элемент fruits[1] — "banana". Код выполняется без ошибок.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👍4
MethodHandles.dropArguments() создаёт MethodHandle, который игнорирует определённые аргументы перед вызовом целевой функции. Это полезно для адаптации методов с разными сигнатурами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
null вместо OptionalВ Java часто используют
null для обозначения отсутствия значения, но это может привести к NullPointerException и усложнить код.Optional, чтобы избежать null и сделать код безопаснее.Optional явно показывает, что значение может отсутствовать.null-проверок и улучшает читаемость кода.map(), orElse()).Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Locale.getDefault() позволяет получить текущую локаль системы, что полезно для работы с форматированием дат, чисел и текста.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Thread.getState() позволяет получить текущее состояние потока. Это полезно при отладке многопоточных программ, чтобы отслеживать, выполняется ли поток, заблокирован или завершён.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
ProcessHandle.isAlive() позволяет проверить, запущен ли процесс в данный момент. Это полезно при мониторинге фоновых процессов и управлении системными ресурсами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
TerminalBuilder.build() из библиотеки JLine позволяет создавать интерактивные терминалы с поддержкой ANSI-цветов, автодополнения и управления вводом. Это полезно для создания CLI-приложений с удобным интерфейсом.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
OpenAPI + Spring: ускоряем разработку и повышаем качество API
Разработка REST API — рутинная? Только если без OpenAPI. Узнайте, как избавиться от ручной синхронизации между фронтом, бэком и тестами.
На вебинаре разберём:
• зачем нужна OpenAPI-спецификация и как с ней жить удобно;
• генерацию кода и документации;
• интеграцию OpenAPI в Spring-приложение;
• советы по масштабируемости и поддержке API.
После вебинара вы сможете:
— быстро внедрить OpenAPI в свой проект;
— сократить ошибки на стыке команд;
— улучшить поддержку и документирование микросервисов.
12 ноября в 20:00 открытый урок проходит в преддверие старта курса «Разработчик на Spring Framework». Все участники получат скидку на обучение.
👉 Регистрация бесплатная, но количество мест ограничено — успей занять своё место:
https://otus.pw/7PBS/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Разработка REST API — рутинная? Только если без OpenAPI. Узнайте, как избавиться от ручной синхронизации между фронтом, бэком и тестами.
На вебинаре разберём:
• зачем нужна OpenAPI-спецификация и как с ней жить удобно;
• генерацию кода и документации;
• интеграцию OpenAPI в Spring-приложение;
• советы по масштабируемости и поддержке API.
После вебинара вы сможете:
— быстро внедрить OpenAPI в свой проект;
— сократить ошибки на стыке команд;
— улучшить поддержку и документирование микросервисов.
12 ноября в 20:00 открытый урок проходит в преддверие старта курса «Разработчик на Spring Framework». Все участники получат скидку на обучение.
👉 Регистрация бесплатная, но количество мест ограничено — успей занять своё место:
https://otus.pw/7PBS/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
AnsiConsole.out.println() из библиотеки Jansi позволяет выводить цветной текст в консоль, упрощая создание стилизованных CLI-приложений с поддержкой ANSI-escape последовательностей.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
5 ноября(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
@SuperBuilder из библиотеки Lombok упрощает создание объектов с помощью паттерна "Builder" и поддерживает наследование, избавляя от лишнего кода при создании сложных иерархий классов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎥 Открытый урок «Наблюдаемость микросервиса: метрики + Prometheus/Grafana».
🗓 11 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
Что будет на вебинаре:
✔️ Полезные метрики для микросервисов: технические и продуктовые; типовые анти-метрики.
✔️ Интеграция Spring Actuator/Micrometer и экспорт /actuator/prometheus.
✔️ Сбор в Prometheus: таргеты, ретенция, базовые правила алертинга.
✔️ Дашборды «для разработчика» в Grafana: структура панелей, аннотации, drill-down.
В результате вебинара вы:
- Сможете выделять действительно важные метрики, подключить Actuator/Micrometer, настроить сбор в Prometheus и собрать базовый дашборд в Grafana.
Кому будет интересно:
Java backend-разработчикам, DevOps/SRE и инженерам, отвечающим за эксплуатацию микросервисов.
🔗 Ссылка на регистрацию: https://otus.pw/teUE/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🗓 11 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Advanced».
Что будет на вебинаре:
В результате вебинара вы:
- Сможете выделять действительно важные метрики, подключить Actuator/Micrometer, настроить сбор в Prometheus и собрать базовый дашборд в Grafana.
Кому будет интересно:
Java backend-разработчикам, DevOps/SRE и инженерам, отвечающим за эксплуатацию микросервисов.
🔗 Ссылка на регистрацию: https://otus.pw/teUE/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Optional.orElseThrow() — это метод, который выбрасывает исключение, если Optional пуст. В отличие от orElse(), он не требует значения по умолчанию, а вместо orElseGet() не создаёт ненужные объекты.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍6