В чем преимущества и недостатки ООП по сравнению с процедурным/функциональным программированием?
Преимущества ООП:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5
JetBrains выпустила бета-версию IntelliJ IDEA 2025.1 с улучшенной работой с Git, коммитами и интеграцией Dev Containers, а также рядом других обновлений.
Основные нововведения:
▶️ Интерфейс: нативные диалоговые окна для работы с файлами в Windows▶️ Git: отображение деталей коммита в окне diff, авто-fetch при изменении remote, отключение хуков при коммите▶️ Коммиты: немодальное окно коммита для удобства и скорости работы▶️ Dev Containers: готовый образ Ubuntu для быстрого запуска контейнеризированных сред
Подробнее обо всех изменениях — в статье.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5👨💻2
Поддерживает ли Java множественное наследование классов?
Ответ:
Однако, множественное наследование можно реализовать с помощью интерфейсов – класс может одновременно имплементировать несколько интерфейсов, получая их сигнатуры методов без конкретной реализации.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤7👍2
18 марта выходит Java 24 с улучшенной работой потоков, байткода и взаимодействия с нативным кодом.
Основные нововведения:
▶️ Stream Gatherers: новый метод gather(Gatherer) для кастомных операций в стримах▶️ Class-File API: официальное API для работы с байткодом и модификацией классов▶️ Pattern Matching for switch: расширенная поддержка паттерн-матчинга в switch▶️ Foreign Function & Memory API: улучшенное взаимодействие с нативным кодом и памятью▶️ Virtual Threads: виртуальные потоки для более эффективной многопоточности
Подробнее обо всех изменениях можно прочитать в статье.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28🤣20❤4
👍14🤯11🔥5😁2
Хэширование — это фундаментальный процесс в программировании, который применяется везде: от защиты паролей до ускорения поиска данных в структурах.
Эта статья поможет разобраться в основных видах хэшей, их применении, а также покажет, как их использовать на практике с примерами на Java.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3👍1
Почему
Thread.sleep()
не освобождает монитор блокировки?Ответ:
Это происходит потому, что sleep() просто переводит поток в состояние ожидания (TIMED_WAITING), но не влияет на механизмы синхронизации. Пока поток “спит”, другие потоки не могут получить доступ к заблокированному ресурсу, так как монитор остается занятым.
Чтобы освободить монитор и дать другим потокам возможность выполнить код, необходимо использовать wait(), join(), Lock или Condition, которые позволяют явно управлять блокировкой и ожиданием.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5❤2
В статье на примере реального кейса из Amazon рассказывается о проблемах, которые могут возникнуть при переносе сервисов между архитектурами x86/64 и ARM из-за различий в моделях памяти.
Автор подробно объясняет, что такое модели памяти и барьеры памяти, делится личным опытом и предлагает визуально понятные материалы для глубокого понимания темы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
Почему
synchronized
не работает с volatile
?Ответ:
Если несколько потоков одновременно обновляют volatile-переменную, они могут перезаписывать изменения друг друга, так как нет механизма блокировки.
Для атомарных операций лучше использовать synchronized, Lock или Atomic-переменные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤4🔥2
NullPointerException
— одна из самых неприятных ошибок в Java, которая может неожиданно привести к сбоям в работе приложения и усложнить жизнь пользователям.В статье рассматриваются современные подходы к обеспечению null-безопасности в Spring-приложениях с использованием JSpecify и NullAway.
Что вы узнаете из статьи?
▶️ Почему NullPointerException остается одной из самых частых ошибок в Java?▶️ Как JSpecify позволяет управлять nullability на уровне API?▶️ В чем разница между JSpecify и NullAway, и когда использовать каждый из них?▶️ Как статический анализ помогает находить потенциальные ошибки на этапе компиляции?▶️ Как интегрировать null-безопасность в Spring-приложение без лишних сложностей?
Автор делится практическими рекомендациями по внедрению null-безопасности, которые снижают количество ошибок и делают код более устойчивым.
tags: #статья #spring
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2
Почему
Phaser
эффективнее, чем CountDownLatch
, если фазы неизвестны заранее?Ответ:
Phaser позволяет:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯7❤6👨💻3👍2
Java NIO (Non-blocking I/O) — это часть стандартной библиотеки Java, обеспечивающая работу с неблокирующими вводом-выводом, сокетами и буферами.
В статье рассматривается создание HTTP-сервера с использованием этого API, позволяющего эффективно обрабатывать множество соединений в одном потоке.
Что вы узнаете в статье?
▶️ Как настроить ServerSocketChannel и принимать соединения?▶️ Как управлять запросами через Selector в одном потоке?▶️ Как обработать HTTP-запрос и отправить ответ?▶️ В чем преимущества NIO перед блокирующими серверами?
Автор показывает ключевые приемы работы с Java NIO и объясняет, как применить их на практике.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
В чем
CompletableFuture
лучше, чем Future
?Ответ:
Основные преимущества:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3⚡2❤2