TGViewer
Channel Public Channel
Java Developer

Java Developer

@java_tg

Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Subscribers
14.8K
Photos
2.2K
Videos
162
Links
2.5K

Showing posts older than #2701 · Back to latest

Older Posts 20 shown
Post #2700 4.48K
👩‍💻 Эффективный подход к тестированию веб-контроллеров в Spring Boot приложениях

В статье разбираются подходы к тестированию контроллеров в Spring Boot и сложности, связанные с избыточностью @SpringBootTest и ограничениями юнит-тестов.

Предлагается оптимальный способ с использованием @WebMvcTest, который сохраняет HTTP-семантику и ускоряет выполнение тестов.

⛓ Читать статью

tags: #статья #spring

📱 Java Developer | Чат
  • ❤ 5
  • 👍 2
Post #2699 3.98K
❔ Вопрос с собеседования

Как в Java обрабатываются одновременные изменения коллекций?

Ответ: Изменения коллекции несколькими потоками одновременно могут привести к непредсказуемым результатам или выбросу ConcurrentModificationException.

Чтобы этого избежать, применяются следующие подходы:

▶️Синхронизированные коллекции через Collections.synchronizedCollection()

▶️Многопоточные коллекции, такие как ConcurrentHashMap

▶️Явная блокировка с использованием synchronized или java.util.concurrent.locks

▶️Безопасные итерации с помощью метода remove() итератора

tags: #собеседование

📱 Java Developer | Чат
  • 👍 11
  • 🔥 3
  • ❤ 2
Post #2696 4.42K
👩‍💻 Глубокое погружение в Stream API Java

Stream API позволяет обрабатывать данные в функциональном стиле, что делает код проще, выразительнее и компактнее.

В статье объясняется, как работает этот подход, приведены реальные примеры и советы по лучшим практикам.

⛓ Читать статью

tags: #статья

📱 Java Developer | Чат
  • ❤ 10
  • 👍 5
Post #2692 4.8K
👩‍💻 Генерация случайных чисел

Случайные числа — важный инструмент в Java, который используется в самых разных сферах: от разработки игр до криптографии.

В статье объясняется, как работают разные типы генераторов в Java (Random, SecureRandom и ThreadLocalRandom) и в чём между ними разница.

⛓ Читать статью

tags: #статья

📱 Java Developer | Чат
  • ❤ 7
  • 👍 3
Post #2691 4.54K
❔ Вопрос с собеседования

Почему @RestController предпочтительнее, чем @Controller в Spring Boot API?

Ответ: @RestController объединяет @Controller и @ResponseBody, автоматически сериализуя возвращаемые данные в JSON или XML.

Если использовать
@Controller, придется добавлять @ResponseBody к каждому методу или настраивать ViewResolver.

tags: #собеседование

📱 Java Developer | Чат
  • 👍 23
  • 🤔 4
  • ❤ 2
Post #2688 4.61K
👩‍💻 Функциональное программирование в Java

Функциональное программирование — это стиль написания кода, основанный на чистых функциях, иммутабельности данных и отсутствии побочных эффектов.

В статье разбираются основные принципы ФП в Java и показано, как использовать лямбда-выражения, функциональные интерфейсы и Stream API для упрощения разработки и повышения надежности кода.

⛓ Читать статью

tags: #статья

📱 Java Developer | Чат
  • 👍 5
  • ❤ 2
  • 🔥 2
Post #2687 4.3K
❔ Задача с LeetCode «Restore IP Addresses №93»

Допустимый IP-адрес состоит из четырёх чисел (0-255), разделённых точками, без начальных нулей, например: «0.1.2.201» и «192.168.1.1». Недопустимы адреса с числами больше 255 или начальными нулями, как «0.011.255.245» или «192.168.1.312».

Задача: из строки s, содержащей только цифры, вернуть все возможные допустимые IP-адреса, вставив точки. Порядок цифр менять нельзя.

Пример 1:
Вход: s = "25525511135"
Выход: ["255.255.11.135","255.255.111.35"]

Пример 2:
Вход: s = "0000"
Выход: ["0.0.0.0"]

tags: #задача #medium

📱 Java Developer | Чат
  • 👍 8
  • ❤ 5
  • 🔥 3
  • 🤔 1
Post #2684 4.21K
⌨️ Вышла Java 24

Вышла общедоступная версия Java 24. В этот релиз попало около 2700 закрытых задач и 24 JEP'а.

Ключевые изменения:
▶️ Загрузка и связывание классов заранее (JEP 483): ускоряет запуск приложений за счет предварительной загрузки и связывания классов

▶️ Stream Gatherers (JEP 485): расширяет Stream API поддержкой пользовательских промежуточных операций

▶️ Оптимизация виртуальных потоков (JEP 491): снижает нагрузку на системные потоки и улучшает масштабируемость многопоточных приложений

▶️ Постквантовая криптография (JEP 496, JEP 497): внедряет механизмы защиты данных от квантовых атак

▶️ Удаление Security Manager (JEP 486): исключает устаревший механизм безопасности из Java

▶️ Предупреждения при использовании sun.misc.Unsafe (JEP 498): поощряют переход на более безопасные API

▶️ Улучшения в сборщиках мусора: снижают паузы и повышают производительность G1 и ZGC

▶️ Удаление поддержки 32-битных систем (JEP 479, JEP 501): исключает 32-битные версии Windows и x86 Linux


Этот релиз не является LTS, обновления для него будут выходить только полгода — до сентября 2025 года.

⛓ Подробный обзор на Habr
⬇️ Скачать Java 24

❤️ — если будешь использовать
👨‍💻 — если ничего интересного

📱 Java Developer | #новости
  • ❤ 16
  • 👨‍💻 13
  • 👍 3
  • 🔥 2
Post #2683 4.12K
  • 👍 10
  • ❤ 5
  • 🔥 4
Post #2682 4.31K
  • 🔥 11
  • 👍 3
Post #2678 4.53K
👩‍💻 Взлом JVM-приложения с помощью отладчика IntelliJ IDEA

Что если мы скажем вам, что отладчик может стать не просто инструментом для поиска ошибок, а настоящим «режимом бога» в мире кода?

В статье рассматривается, как можно исследовать память приложения и изменить его функциональность, при этом не затрагивая исходный код, а используя только лишь отладчик IntelliJ IDEA.

⛓ Читать статью

tags: #статья

📱 Java Developer | Чат
  • ❤ 8
  • 👍 3
  • 🔥 2
Post #2677 4.03K
❔ Вопрос с собеседования

В чем CompletableFuture лучше, чем Future?

Ответ: CompletableFuture предоставляет более гибкий и асинхронный способ работы с результатами вычислений по сравнению с Future.

Основные преимущества:

▶ Не блокирует поток: Future.get() останавливает выполнение до завершения задачи, а CompletableFuture позволяет устанавливать колбэки (thenApply, thenAccept) и работать без ожидания

▶ Комбинирование задач: CompletableFuture поддерживает цепочки (thenCompose, thenCombine), что упрощает обработку зависимых операций

▶ Поддержка асинхронных методов: можно запускать задачи на другом потоке (supplyAsync())

▶ Обработка исключений: встроенные методы (exceptionally, handle) позволяют работать с ошибками без try-catch

tags: #собеседование

📱 Java Developer | Чат
  • 👍 16
  • 🔥 3
  • ⚡ 2
  • ❤ 2
Post #2675 4K
Наглядный принцип работы SQL-инъекций 😆

📱 Java Developer | #memes
  • 🤣 56
  • 😁 9
  • ❤ 3
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →