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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Переводим число в разные системы счисления!

Java предоставляет готовые методы для перевода числа в двоичную, восьмеричную и шестнадцатеричную системы.

Сегодня в задаче:
Задаём число;

Переводим его в двоичный, восьмеричный и шестнадцатеричный вид;

Выводим результаты в консоль.


Это полезно и может пригодиться для использования в побитовых операциях.

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥307👍5🤝5
👩‍💻 StringTokenizer — разбивитие строки на токены!

Проверяй наличие токенов, получай их, считай количество и даже задавай разделитель вручную. Хоть сегодня чаще используют split(), но StringTokenizer всё ещё полезен для простых сценариев.

👉 Java Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥215👍4
👩‍💻 Проверяем, все ли скобки закрыты?

В задаче нужно определить, закрыты ли все скобки. Порядок вложенности не проверяется, только равенство количества.

Сегодня в посте:
Зададим строку;

Посчитаем количество для каждого вида скобок;

Проверим, что все счётчики равны нулю.


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

👉 Java Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🤝74👍2
Автоматическое логирование через SLF4J + Logback

Заменяем System.out.println на нормальные логи с уровнями и форматами.

Добавляем зависимость:
implementation "ch.qos.logback:logback-classic:1.5.6"


Теперь определим простой конфиг logback.xml, который задаёт формат и уровень логирования:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d %-5level %logger{12} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>


Используем в коде вместо System.out.println:
var log = org.slf4j.LoggerFactory.getLogger("app");
log.info("Сервис запущен");
log.error("Ошибка", new RuntimeException("broken"));


🔥 В итоге мы получаем удобное и красивое логирование, которое легко расширяется.

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥4👍3
👩‍💻 Как работает volatile в Java?

Он гарантирует, что запись переменной одним потоком сразу станет видна другим. Это решает типичную проблему с залипающими флагами в циклах.

В этом посте:
Покажем, как поток может не увидеть изменение;

Исправим это, объявив;

Объясним ограничение.


Применяйте volatile для флагов и статусов, а для счётчиков и составных операций используйте атомики или синхронизацию.

👉 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥135👍4