Thread.sleep() - это просто пауза на заданное время. Проблема в том, что ты угадываешь: ❌ поток может проснуться слишком рано ❌ или наоборот, ждать дольше, чем нужно ❌ polling через sleep() создаёт лишние задержки и проверки Для координации потоков лучше использовать: ✅ wait() / notify() ✅ CountDownLatch ✅ другие примитивы синхронизации из java.util.concurrent Например: CountDownLatch done = new CountDownLatch(1); done.await(); // ждём сигнал done...
Java
Java-ловушка
: . в формате числа не всегда означает точку В DecimalFormat шаблон вроде: #,###.## не гарантирует вывод 1,234.56. Символы зависят от locale: 🇺🇸 US → 1,234.56 🇮🇹 Italy → 1.234,56 Поэтому если формат предназначен для конкретной страны, лучше задавать её явно: DecimalFormatSymbols it = new DecimalFormatSymbols(Locale...
🖥 Java: почему 1.234,56 ломает Double.parseDouble
() В Java число - это не всегда просто строка с точкой. Например: Double.parseDouble("1.234,56"); закончится NumberFormatException. Проблема в локали: в разных странах . и , означают разное. Для таких случаев лучше использовать: NumberFormat format = NumberFormat.getInstance(Locale.ITALY); Number value = format...
⚡️ Spring Boot 4: `@ConfigurationPropertiesSource` для типов из других модулей
В Spring Boot 4 появилась полезная штука для конфигурации больших проектов. @ConfigurationPropertiesSource позволяет генерировать metadata для типов, которые находятся не в текущем модуле, а, например, в общей библиотеке или отдельном starter-модуле. Раньше с такими внешними типами IDE-подсказки для application.yml и application.properties могли быть неполными или вообще отсутствовать...
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку
Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: https://dzen.ru/id/5e048b1b2b616900b081f1d9 Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: https://dzen.ru/id/64086a270a7c6b686eb517e1 DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: https://dzen.ru/id/600fbe2706925b5c057395e6 Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: https://dzen...
