Java предоставляет готовые методы для перевода числа в двоичную, восьмеричную и шестнадцатеричную системы.
Сегодня в задаче:
• Задаём число;
• Переводим его в двоичный, восьмеричный и шестнадцатеричный вид;
• Выводим результаты в консоль.
Это полезно и может пригодиться для использования в побитовых операциях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30❤7👍5🤝5
Проверяй наличие токенов, получай их, считай количество и даже задавай разделитель вручную. Хоть сегодня чаще используют split(), но StringTokenizer всё ещё полезен для простых сценариев.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤5👍4
В задаче нужно определить, закрыты ли все скобки. Порядок вложенности не проверяется, только равенство количества.
Сегодня в посте:
• Зададим строку;
• Посчитаем количество для каждого вида скобок;
• Проверим, что все счётчики равны нулю.
Такой способ подходит для простых проверок строк, где важен сам факт закрытия скобок, а не порядок.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🤝7❤4👍2
Автоматическое логирование через SLF4J + Logback
Заменяем
Добавляем зависимость:
Теперь определим простой конфиг
Используем в коде вместо
🔥 В итоге мы получаем удобное и красивое логирование, которое легко расширяется.
👉 Java Ready | #практика
Заменяем
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"));🔥 В итоге мы получаем удобное и красивое логирование, которое легко расширяется.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥4👍3
Он гарантирует, что запись переменной одним потоком сразу станет видна другим. Это решает типичную проблему с залипающими флагами в циклах.
В этом посте:
• Покажем, как поток может не увидеть изменение;
• Исправим это, объявив;
• Объясним ограничение.
Применяйте
volatile для флагов и статусов, а для счётчиков и составных операций используйте атомики или синхронизацию.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤5👍4