⌨️ Java Concurrency API: Основные классы Современные приложения все чаще требуют выполнения нескольких задач одновременно, и для этого Java предоставляет мощный инструмент — Concurrency API (набор классов и интерфейсов). Этот API позволяет разработчикам легко реализовывать многопоточность, управлять потоками и синхронизировать действия между ними, что значительно увеличивает производительность и отзывчивость приложений.Основные классы:1. Thread - Класс для создания и управления потоками. Вы можете создать новый поток, реализовав интерфейс Runnable или расширив класс Thread.2. Executor - Интерфейс для управления потоками и выполнения задач. Позволяет абстрагироваться от управления потоками, сосредоточившись на логике приложения. - ExecutorService: расширение Executor, управляющее жизненным циклом потоков.3. Future - Позволяет получать результаты из асинхронных задач. Используется в связке с ExecutorService для выполнения задач в фоновом режиме.4. CountDownLatch - Синхронизирует потоки, позволяя одному или нескольким потокам ждать завершения других потоков перед продолжением работы.5. CyclicBarrier - Используется для синхронизации группы потоков. Позволяет потоку ждать, пока все другие не достигнут определенной точки.6. Semaphore - Контролирует доступ к ресурсу, предоставляя определенное количество разрешений для потоков.7. BlockingQueue - Интерфейс, предоставляющий безопасный способ обмена данными между потоками при помощи очередей. Реализации включают ArrayBlockingQueue, LinkedBlockingQueue и другие.#java #ConcurrencyAPI #Thread
Java | Фишки и трюки
@java_tips_and_tricks · 6.9K подписчиков
Посты канала Java | Фишки и трюки в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Java: примеры кода, интересные фишки и полезные трюкиКупить рекламу:https://telega.in/c/java_tips_and_tricks✍️По всем вопросам:@Pascal4eg
Посты канала
⌨️ Суть лямбда-выраженийЛямбда-выражения на первый взгляд могут показаться чем-то сложным и загадочным, но на самом деле они просты и интуитивно понятны.Лямбда-выражение — это лаконичный способ описания анонимной функции, которую можно передать в качестве параметра или сохранить в переменной для последующего использования.Если говорить ещё проще, лямбда-выражение — это просто другой способ создания и реализации объекта определённого типа. Рассмотрим это на примере создания нового потока.У класса Thread есть конструктор:public Thread(Runnable target) { ...}То есть в конструктор нужно передать объект типа Runnable. До лямбда-выражений мы сделали бы так:new Thread(new Runnable() { @Override public void run() { System.out.println("Hello World"); }}).start();Здесь мы создаём анонимный класс, реализующий интерфейс Runnable, с определённым методом run.Если использовать лямбда-выражение, тот же код будет выглядеть следующим образом:Runnable r = () -> System.out.println("Hello World");new Thread(r).start();Или проще:new Thread(() -> System.out.println("Hello World")).start();Лямбда-выражение заменяет собой анонимный класс, который раньше был бы необходим для реализации Runnable. Лямбда-выражение может использоваться только там, где ожидается реализация функционального интерфейса — интерфейса с единственным абстрактным методом. А интерфейс Runnable именно такой:@FunctionalInterfacepublic interface Runnable { public abstract void run();}Функциональный интерфейс должен содержать только один абстрактный метод, чтобы компилятор мог точно определить, какой метод реализует лямбда-выражение. В противном случае возникли бы неоднозначности и ошибки.#java #lambda #Runnable
🕰️ Java Time API: Почему java.util.Date должен умеретьВ старых версиях Java работа со временем была настоящим квестом. Класс java.util.Date — это, пожалуй, самый неудачный дизайн в истории JDK.🤦♂️ Зал славы проблем Date и Calendar:1️⃣ Они изменяемые (Mutable): Вы передаете дату в метод, а он может тихо поменять ей год. Это ад для многопоточности.2️⃣ Нумерация месяцев: Январь — это 0. Декабрь — 11. Сколько багов было написано из-за этого!3️⃣ Годы: new Date(2023, ...) создаст дату в 3923 году (потому что отсчет идет с 1900).4️⃣ Нейминг: java.sql.Date наследуется от java.util.Date, но не содержит времени. Путаница неизбежна.✅ Спасение в Java 8+ (java.time)Java переняла опыт библиотеки Joda-Time и внедрила JSR 310. Теперь у нас есть строгие, неизменяемые и понятные типы.Шпаргалка, что выбрать:1️⃣ Instant — Точка на временной шкале (Unix Timestamp).Для кого: Для машин, логов и баз данных. Внутри это просто количество секунд с 1970 года (UTC).Пример: Instant.now()2️⃣ LocalDate / LocalTime — "Дата в календаре" и "Время на часах". Без часового пояса.Для кого: Дни рождения, праздники ("Новый год всегда 1 января", неважно, где вы).Пример: LocalDate.of(2023, Month.JANUARY, 1)3️⃣ ZonedDateTime — Полный фарш: дата + время + часовой пояс.Для кого: Для организации встреч звонков между странами. Учитывает переход на летнее время!💎 Неизменяемость (Immutability):Больше никаких сюрпризов. Методы изменения времени всегда возвращают новый объект.LocalDate today = LocalDate.now();LocalDate tomorrow = today.plusDays(1); // today остался прежним!💡 Лайфхак:Если вам нужно посчитать разницу между датами, используйте Period (для дней/месяцев) или Duration (для секунд/наносекунд).long days = ChronoUnit.DAYS.between(date1, date2);
Ещё по теме «Технологии»
ТехнологииОблегчите нагрузку: пять способов, которыми ИИ может помочь вашему стартапу или малому бизнесуМаркетинг для стартапов и малого бизнесаМаркетинг важен для любого бизнеса. Он повышает узнаваемость бренда, авторитет и доверие, а также помогает удерживать клиентов надолго.Использование ИИ в маркетингеИИ может быть полезным инструментом для маркетинга. Он может экономить время, анализировать эффективность и предсказывать улучшения.Понимание поведения потребителейИИ может помочь вам понять своего идеального клиента и нацелить рекламу на него с помощью таких инструментов, как социальные сети и Google Ads.Анализ конкурентовИИ может анализировать поведение ваших конкурентов и помогать вам адаптировать свои стратегии в соответствии с ними.Разработка продуктаИИ может улучшить дизайн продукта, разработку, прототипирование и тестирование.БезопасностьМалые предприятия часто уязвимы для киберпреступности. ИИ может повысить безопасность, защищая от фишинга, вредоносного ПО и других угроз.Источник
☁️ Anthropic расширяет возможности Claude, добавляя интеграции с популярным софтом вроде Blender, Adobe, Ableton и других креативных инструментов. Теперь ассистент может напрямую взаимодействовать с приложениями: писать скрипты, управлять сценами, автоматизировать рутинные задачи и работать с данными внутри проектов через обычные текстовые команды.Поддержка охватывает сразу несколько направлений от 3D и графики до музыки и генерации контента. Например, в Blender это работа через Python APIFULL VIEW 🧑💻
💛 Нашел классную альтернативу для Obsidian — TolariaЭто бесплатное приложение для работы с заметками, которое изначально заточено под совместные дела с ИИ-агентом.Obsidian проектировался для людей: человек пишет заметки, организует их, при желании подключает плагины. Tolaria проектировался для совместной работы человека и ИИ-агента. Агент подключается через MCP-сервер, читает и пишет заметки в хранилище, а все его правки фиксируются в Git как отдельный автор. То есть можно открыть историю изменений и увидеть, что написал человек, а что — агент.Второе отличие — встроенная работа с Git. В Obsidian для этого нужен плагин, в Tolaria Git встроен в интерфейс: коммиты, история, синхронизация — всё прямо из приложения. Есть автоматический режим, при котором приложение само создаёт коммиты и пушит изменения, когда окно теряет фокус или наступает пауза в работе.Третье — система типов заметок. В Obsidian все заметки одинаковые, различаются только тегами и папками. В Tolaria у каждой заметки есть тип (проект, человек, тема, задача), с отдельной иконкой и цветом. Это ближе к Notion по организации, но без облака и без привязки к сервису. Можно создавать фильтрованные представления по типам и свойствам — тоже yaml-файлы, которые агент может генерировать сам.Короче, прикольный проект. Главное, что бесплатный, установить можно с гитхаба по этой ссылке#сервисы@neurozeh
Забытая, но доступная: операционная система Windows Embedded POS Ready 2009В статье поднимают забытую лазейку: Windows Embedded POS Ready 2009 - по факту XP, но с обновлениями до 2019 года и урезанным, «чистым» набором компонентов. ⏺В своё время достаточно было одного ключа в реестре, чтобы обычная XP начала получать апдейты как POS-версия, система считала себя терминалом. Плюс встроенные механизмы вроде write filter, который откатывает изменения после перезагрузки↪️ Читать статью Бункер Хакера | Zeroday | #Статья
Как я дала код от госуслуг мошенникам. Учимся на моих ошибках https://telegra.ph/Kak-ya-dala-kod-ot-gosuslug-05-01
США всё больше транслируют в мир посыл "Тратьте максимальные деньги на ИИ, используйте максимально наши модели, а если вы этого не делаете, то вы лохи!". Ну, а БигТех США кушает и учится на наших данных... за наши деньги. Внедрение такое же как было с долларом в финансовом секторе )).Стоит все же задумываться о суверенных моделях внутри стран... Но сейчас на карте ИИ есть только 2 страны. США и Китай. Всё.@dansblog
ОСТРОЕ ПРОТИВОРЕЧИЕС какой скоростью развиваются технологии ИИ?А с какой изменяется процесс обучения детей, и не детей тоже?Почти все мое поколение будущих инженеров прорешивало множество типовых задач из сборника «Сканави» (помните такой?)Сейчас студент наводит на задание телефон и ИИ расписывает ему решение. Будем обращаться к совести студента? – это сработает?А что по поводу мотивации студента, который будет понимать, что всё равно ИИ лучше него будет решать эти задачи?Нужно ли решительно изменить само содержание образования? А если «да» - кто это будет делать? Это суперважные вопросы, но вместо них общественность обсуждает какие-то мелочи. А всяческие войны, пакости и глупости «вождей» только отвлекают умы от настоящих вызовов, загоняя наш биологический вид в ловушку.Что скажете?
ВРЕМЯ ДЕЙСТВОВАТЬ: полнолуние как точка внутреннего разворотаДрузья, 1 мая в 20:23 по МСК нас ждёт полнолуние, которое называют Цветущим.Это время, когда сама природа напоминает нам о законе жизни: всё, что было скрыто в земле, однажды выходит к свету. Всё, что долго зрело внутри, готово проявиться.И человек часть этого живого ритма.Когда расцветает мир вокруг, Душа тоже зовёт к раскрытию.Полнолуние усиливает внутренние процессы. То, что было неясным, становится заметным. То, что откладывалось, просится в движение. То, что спало, хочет проснуться.Это момент, когда важно услышать себя глубже шума ума.Не страх.Не сомнения.Не чужие ожидания.А тихий голос сердца.Что благоприятно сделать в этот день:✨ Честно признаться себе, чего вы на самом деле хотите✨ Завершить внутренние колебания и выбрать направление✨ Сделать первый шаг туда, куда давно зовёт жизнь✨ Отпустить зависимость от чужого мнения✨ Начать действовать из уважения к себе✨ Посадить семя нового намеренияЧто лучше оставить:⚡️ Откладывание жизни на потом⚡️ Привычку сомневаться в себе⚡️ Ожидание идеального момента⚡️ Старые сценарии, где вы уменьшали себя⚡️ Страх быть яркими, живыми, настоящимиПолнолуние не создаёт силу, оно проявляет то, что уже есть внутри вас.Если внутри есть зов — пора ответить.Если есть мечта — пора сделать шаг.Если есть свет — пора перестать прятать его.Иногда один честный шаг меняет целую судьбу.Сегодня не время ждать.Сегодня время вспомнить, кто вы есть, и начать жить из этого.От сердца, A.Т.Ма🤍
Постановление 21 ААС от 29.04.2026«Суд первой инстанции верно отметил, что доводы истца, основанные на ответах чат-ботов на базе искусственного интеллекта, не имеют доказательственного значения, не подтверждают использование ответчиком товарных знаков, правообладателем которых он является, и не могут быть приняты во внимание. Чат-боты на базе искусственного интеллекта - инструменты искусственного интеллекта, которые способны отвечать на вопросы пользователей на естественном языке, генерируют свои ответы с помощью языковой модели. Указанные чат-боты на базе искусственного интеллекта генерируют нужный текст в зависимости от запроса, и не дают достоверный ответ со ссылками на источники информации».Карточка дела💠💠💠#ИИ#Судебная_практика💠 M&A | IB
Две недели катаюсь по Китаю. Гуанчжоу, Чэнгду, Эмэйшань. Чувствую себя гостем из прошлого.Бываю тут раз в год. И каждый раз страна другая. Не та что в прошлый раз.На этот раз это посещение Кантонской выставки и празднование дня рождения этой красотки на фотке (справа).Ладно, по порядку.Регистрируешься на рейс онлайн. Приезжаешь в аэропорт. Дальше - только лицо. Камера тебя узнаёт, потому что они уже знают как ты выглядишь по паспорту. Ни билета, ни QR-кода, ни бумажки. Подошёл, посмотрел, прошёл. Телефон в кармане.В метро на наклонных переходах - мелкие засечки на полу. Бороздки чтобы не поскользнуться. Кто-то сел и подумал: "а если пол мокрый и бабушка грохнется?" И нарезал эти бороздки. На каждой станции. Во всём городе.Роботы. Они тут везде. В отеле робот привозит еду в номер, звонит на телефон - "забери заказ". В ресторане робот подвозит блюда к столу. В аэропорту роботы тащат тележки. И никто на них не оборачивается. Это не wow-эффект. Это быт.Но самое мощное - тихое. 90% машин на дорогах - электрические. Стоишь на перекрёстке в городе-миллионнике и слышишь... ничего. Тишина. И воздух чистый. В переполненном мегаполисе.Мы у себя обсуждаем "электромобили это будущее". Тут это не будущее. Тут это вторник.Мы спорим про AI-регулирование. Они внедряют. Мы пишем стратегии цифровой трансформации. Они уже трансформировались. Мы проводим пилоты. Они масштабируют.Знаете что меня бесит? Не то что Китай впереди. А то что мы этого даже не видим. Потому что не приезжаем сюда. Читаем статьи, смотрим видео и думаем что понимаем. Нет. Надо постоять на этом перекрёстке в тишине. Тогда доходит.Приезжайте. Постойте.