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

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

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Weekend Offer для Java-разработчиков в команду VK Звонков состоится 10-11 сентября

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

Подать заявку
👍5
Ищем-ищем нужное…

Периодически у каждого возникает такая задача, когда необходимо произвести поиск в какой-либо директории, прямо внутри содержащихся там файлов, и найти нужные файлы по ключевым словам. Именно об этом мы и поговорим в этой статье.

Читать статью
👍6
Холостые циклы в Java

Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не менее, тема видится интересной и по ней есть что сказать, так что добро пожаловать!

Читать статью
👍4😱1
Java News Roundup: Eclipse GlassFish, Open Liberty, MicroStream, JHipster, WildFly, EclipseLink

This week's Java roundup for August 29th, 2022, features news from OpenJDK, JDK 20, Eclipse GlassFish 7.0.0-M8, Quarkus 2.12.0, Open Liberty 22.0.0.9 and 22.0.0.10-beta, MicroStream 07.01.00-beta2, WildFly 26.1.2, JHipster 7.9.3, EclipseLink 4.0.0-RC1, Hibernate 5.6.11, JDKMon 17.0.35 and Apache Camel Quarkus 2.12.0.

Читать статью
👍4
Лучшие практики по управлению зависимостями в Java

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

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

Читать статью
👍6
Атака на String.hashCode: прообразы и коллизии

Как-то раз мне понадобилось несколько наборов строк с коллизией по хеш-коду. То есть таких, чтобы значение String::hashCode() совпадало для всех строк в наборе.

Блуждание по интернету не дало результатов, примеров было мало и все они довольно однообразны. Поиск по словарям подарил забавную пару "javanoscript's".hashCode() == "monocle".hashCode(), но практической пользы не принёс. Полный перебор не рассматривался в виду скорой тепловой смерти вселенной.

Тот самый случай, когда проще сделать всё самому. Стандартная хеш-функция строки в Java считается криптографически нестойкой, так что знаний из школьного курса математики должно быть достаточно.

Читать статью
👍5
Java 8 была выпущена в марте 2014 года, а Java 18 — в марте 2022 года. Между этими двумя выпусками — 8 лет прогресса и 203 предложения (JEP) по улучшению JDK.

В этом видео Аурелио Гарсиа-Рибейро рассказывает о наиболее важных изменениях в Java, которые произошли за эти года, а также о преимуществах и проблемах по внедрению последних версий JDK как для новых приложений, так и для уже написанных.
👍9
JDK 19 and JDK 20: What We Know So Far

JDK 19, the second non-LTS release since JDK 17, has reached its initial release candidate phase as declared by Mark Reinhold, chief architect, Java Platform Group at Oracle. The main-line source repository, forked to the JDK stabilization repository in early June 2022 (Rampdown Phase One), defines the feature set for JDK 19. Critical bugs, such as regressions or serious functionality issues, may be addressed, but must be approved via the Fix-Request process. As per the release schedule, JDK 19 will be formally released on September 20, 2022.

Читать статью
👍4🔥1
Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Читать статью
👍8
JEP 429: Extent-Local Variables to Promote Immutability in Java

JEP 429, Extent-Local Variables (Incubator), was promoted from its JEP Draft 8263012 to Candidate status. This incubating JEP, under the umbrella of Project Loom, proposes enabling the sharing of immutable data within and across threads. This is preferred to thread-local variables, especially when using large numbers of virtual threads.

Читать статью
👍4
Чистый код — практический подход

После нескольких докладов о чистом коде (Clean Code) я решил обобщить в статье самое важное по этой теме. Поскольку в Интернете и так много постов и информации об этом, то, я думаю, еще одна статья, просто рассказывающая о принципах чистого кода, не будет интересной.

Поэтому я попытаюсь показать вам практический подход к чистому коду. Не вдаваясь в теорию, покажу, как я пишу Чистый Код.

Читать статью
👍4
Introducing Helidon Nima Using Virtual Threads to Achieve Simplicity and High Performance

Under the umbrella of Project Helidon, Oracle introduced the first microservices framework based on virtual threads (JEP 425) called Helidon Níma. It is built from the ground up to achieve an easy-to-use programming model with outstanding performance. The technology preview is now available with the Helidon 4.0.0-ALPHA1 release for those who are interested in evaluating the latest Java technology. However, this is not yet production-ready.

Читать статью
👍4
3 способа мониторинга изменений лог-файлов в Java

Изучая механизм правил (англ. Rule Engine), следует учитывать следующее обстоятельство: в случае хранения правил в формате файлов необходимо контролировать конкретную директорию или файл, чтобы проверять их на предмет изменений и затем загружать.

Похожие принципы действуют и в других бизнес-сценариях, таких как динамическая загрузка конфигурационных файлов, мониторинг лог-файлов и файлов FTP (англ. File Transfer Protocol, протокол передачи файлов).

В статье мы рассмотрим 3 способа решения этой задачи.

Читать статью
👍3🔥3🤩1
Глубокое погружение в Java Memory Model

Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.

В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать статью
👍8👏2
JDBC vs JPA

В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение.

Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA?

В этой статье мы поговорим о JDBC и JPA: истории появления и некоторых особенностях.

Читать статью
👍10
Разрешение конфликтов слияния Git в IntelliJ IDEA

В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.

Читать статью
👍12
Друзья, вашему вниманию предлагается подборка Java-новостей от InfoQ:
- релиз Amazon Corretto 19
- релиз LibericaJDK 19
- релиз Jakarta EE
- релиз Spring Boot 2.7.4 и 2.6.12
- релиз Quarkus, Payara, Micronaut
и д. р.

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

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