Java Ready | Программирование
8.88K subscribers
1.22K photos
61 videos
1 file
600 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Сжатие и распаковка строк через GZIP

Хранить большие тексты можно компактнее — через GZIP. Данные кодируются в Base64 и легко восстанавливаются обратно.

В этом посте:
Сжимаем текст в Base64;

Восстанавливаем обратно;

Сравним размеры до и после.


Удобно для логов, конфигов и хранения данных в БД.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥5👍3
Получение текущего пути проекта — узнаём, где запущена программа!

Иногда нужно узнать, из какой директории работает приложение. Java позволяет получить текущий путь одной командой без дополнительных библиотек.

Получаем путь и выводим его в консоль:
var path = java.nio.file.Paths.get("").toAbsolutePath();
System.out.println("Текущая директория: " + path);


Можно использовать этот путь для работы с файлами:
var file = path.resolve("data/config.txt");
System.out.println(file);


Проверим, существует ли файл в этой директории:
if (java.nio.file.Files.exists(file)) {
System.out.println("Файл найден!");
} else {
System.out.println("Файл не найден!");
}


🔥 Подходит для приложений, скриптов и серверов, где важно знать рабочую директорию.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥4
👩‍💻 Разбираем Character — инструмент для анализа и преобразования символов!

В этой шпаргалке расскажу про простые методы, которые позволяют писать надёжный и чистый код при работе с символами и текстом.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥135👍3
👩‍💻 Проверка, попадает ли точка в круг!

Сегодня проверим, лежит ли точка внутри круга радиуса r, центр которого находится в (0, 0). Используется простая формула длины вектора без sqrt().

В этой задаче:
Задаём координаты точки и радиус круга;

Вычисляем квадрат расстояния до центра;

Сравниваем с квадратом радиуса.


Это базовая, но полезная проверка, часто применимая в 2D-логике.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥116👍5🤝2
В Java можно проверить, доступен ли сайт или API-endpoint, не открывая страницу в браузере!

Для этого достаточно использовать класс HttpURLConnection из стандартной библиотеки:
var url = new URL("https://example.com");        
var conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("HEAD");
conn.setConnectTimeout(3000);

System.out.println(conn.getResponseCode() < 400 ? "Доступен" : "Недоступен");


🔥 Метод HEAD позволяет проверить только заголовки без загрузки содержимого, а setConnectTimeout() задаёт время ожидания ответа от сервера.

👉 Java Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3
👩‍💻 Анализатор производительности GC!

Хочется понять, как работает GC в вашем сервисе: сколько раз срабатывает и сколько времени отнимают паузы?

В этом посте:
Определим активные сборщики;

Снимем базу;

Выведем дельты.


Такой отчёт полезен для быстрой диагностики перед релизом, сравнения JVM-флагов и поиска источников длинных пауз.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75👍4
Создание текстового меню в консоли — простой способ общения с пользователем!

Такое меню удобно для небольших CLI-программ и тестовых утилит. Можно добавлять пункты, считывать ввод и выполнять команды.

Всё реализуется через Scanner, while и switch.

Создаём цикл меню:
var sc = new java.util.Scanner(System.in);
var running = true;

while (running) {
System.out.println("1) Время 2) Добавить 3) Список 0) Выход");
System.out.print("Ваш выбор: ");
var choice = sc.nextLine();


Обрабатываем команды:
    switch (choice) {
case "1" -> System.out.println(java.time.LocalTime.now());
case "2" -> System.out.println("Добавлено!");
case "3" -> System.out.println("Пока пусто...");
case "0" -> running = false;
default -> System.out.println("Неизвестная команда");
}
System.out.println();
}
sc.close();


🔥 Можно добавить хранение данных, работу с файлами или логирование и получится готовая программа.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥43
👩‍💻 Разбираем Thread.sleep — контроль времени и синхронизации потоков!

Эти методы позволяют писать предсказуемый и стабильный многопоточный код без хаоса и блокировок. Это очень полезно при написании больших и сложных приложений.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115🤝5👍3