Java News – Telegram
Java News
4.3K subscribers
251 photos
5 videos
1 file
1.47K links
Все новости связанные с Java!

По всем вопросам: @NadikaKir

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Заменят ли потоки данных циклы в Java?

Выпуск версии Java 8 стал знаменательным событием в истории Java. В нем были представлены потоки данных (англ. Streams) и лямбда-выражения, которые сейчас широко применяются. Если вы не знакомы с потоками данных или никогда не слышали о них, то ничего страшного. В большинстве случаев можно обойтись без них, задействуя циклы.

И зачем тогда, спрашивается, нужны потоки данных? Есть ли у них преимущества перед циклами? Могут ли они их заменить? В статье мы изучим соответствующий код, сравним производительность и посмотрим, смогут ли потоки данных стать полноценной заменой циклов.

Читать статью
🔥1
Перестаём бояться генерировать байт-код

Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.

Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе.

Читать статью
🔥2
Скачайте бесплатно пошаговый гайд по технической подготовке интернет-магазинов к «Чёрной пятнице»🛠

Секунда задержки во время распродажи отнимает 7% конверсии. А простой даже в несколько минут и вовсе равен катастрофе не только для магазина, но и для репутации разработчиков.

Если вам кажется, что к «Чёрной пятнице» всё готово, то вспомните, что было на 11.11? Судя по запросам к тестировщикам «Лаборатории качества», не всем удалось пройти пиковые нагрузки без проблем: товары из корзины не оплачивались, промокоды обнулялись, мобильная версия и API неприятно удивляли.

🚀Чтобы помочь всем джавистам, которые работают с e-com проектами, мы объединили опыт тестирования (от инфраструктуры до UX и безопасности) в один практический гайд на 14 страниц. Да, информации много, но она максимально полезная, структурированная и прикладная.

Поверьте нашему опыту: если что‑то может сломаться, то оно обязательно сломается в «Чёрную пятницу». Причём именно там, где больше всего денег. Пиковые нагрузки беспощадны – не рискуйте!

🔗Скачайте гайд бесплатно прямо сейчас в нашем телеграм‑боте. Там есть и другие полезные гайды по тестированию и разработке. Заходите!

#реклама
О рекламодателе
erid: 2W5zFH6Ww3W
О SOLID с примерами их использования в JDK

В данной статье Eric J. Bruno коротко рассказывает о принципах SOLID, приводя подходящие примеры их применения из JDK.

Понимание SOLID — обязанность любого Java-разработчика, т.к. их правильное использование способствует написанию понятного и поддерживаемого кода.

Читать статью
🔥3👍2
Делаем свою простейшую систему сборки для Java

Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.

Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе «вот создаешь Gradle‑проект, в IDE жмешь кнопочку запуска и все работает». Но как только возникает необходимость что‑то в этом простом процессе усложнить, или понять — начинаются проблемы.

Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри — магия, превращающая исходный код в запущенную программу.

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

Читать статью
👍1
👩‍💻 Spring Boot + Kafka

Приглашаем на открытый урок.

🗓 26 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».

Программа вебинара:

✔️ Введение в Kafka: топики, партиции, транзакции.
✔️ Простое приложение на Spring Boot: надежная отправка и получение сообщений.

Вебинар будет полезен:
Java-разработчикам и backend-инженерам, начинающим работать с Kafka.

В результате вебинара:
Получите базовые знания по Kafka и сможете написать клиента на Spring Boot для отправки и приема сообщений.

🔗 Ссылка на регистрацию: https://vk.cc/cRCzqc

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
Подключение к GigaChat API на Java: пошаговое руководство

В этой статье я расскажу о том, как подключиться к API GigaChat в IntelliJ IDEA на Java и настроить безопасное соединение с использованием SSL-сертификатов, чтобы получать ответы от GigaChat в своем приложении.

Читать статью
👍2🔥1
Как создать потокобезопасный счетчик в Java

Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.

Читать статью
👍3😁1
👩‍💻 Spring Boot + Elasticsearch: как за 10 минут сделать поиск, который летает?

Приглашаем на открытый урок.

🗓 2 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional».

Программа вебинара:

✔️ Почему Elasticsearch — лучший выбор для поиска в Spring Boot-приложениях.
✔️ Пошаговая настройка и подключение к проекту.
✔️ Примеры запросов: простой поиск, фильтры и агрегации.
✔️ Что можно сломать и как этого избежать.
✔️Где взять шаблоны и чек-листы для быстрого старта.

Вебинар будет полезен:
Java-разработчикам, архитекторам и инженерам, внедряющим полнотекстовый поиск в микросервисы.

В результате вебинара:
Сможете самостоятельно подключить Elasticsearch к Spring Boot-проекту и реализовать базовый поиск, понимая ключевые принципы и подводные камни.

🔗 Ссылка на регистрацию: https://vk.cc/cRJ7pN

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
23 шаблона проектирования для 99% разработчиков на Java

В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.

Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.

Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.

Читать статью
👍4🔥2
OOM: direct memory при работе с сетью TCP/IP через NIO в Java

Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.

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

Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".

Читать статью
🔥1😢1
Особое мнение: смотрим на нагрузочные тесты как на функциональные

Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.

Читать статью
👍2🔥1
Конфигурирование пула соедининений JDBC в Hibernate

Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳

Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.

Приятного чтения!

Читать статью
👍2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования

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

Читать статью
👍3🔥2