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

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

Мы на бирже: https://telega.in/c/java_newss
Download Telegram
Глубокое погружение в Java Memory Model

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

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

Читать статью
👍9
Как за полчаса написать простую читалку книг FB2 для десктопа на Java

Недавно мне для личных целей понадобилось написать читалку FB2. И сразу я столкнулась с тем, что информации по теме минимум. Палочка-выручалочка под названием ChatGPT выдал что-то невразумительное в ответ на довольно подробный запрос. К тому же, никаких готовых библиотек, чтобы по-быстренькому наваять ридер, я также не смогла обнаружить. Хотя искала долго и упорно, как Чубакка расческу.

Читать статью
👍11
Zero Downtime и Spring Boot. Апдейтим базу

Привет! Когда-то обновление версии сервиса было сложной задачей. Нужно было последовательно выполнить ряд действий, перезапустить инстансы, и не забыть предварительно забэкапить наши данные. Пользователям сервиса показывалось предупреждение, что сервис временно недоступен, и куча усилий тратилась на то, чтобы максимально снизить время этой недоступности.

Сейчас же у нас есть супер-мощные инструменты для управления сервисами. Они позволяют иметь несколько разных версий сервиса одновременно. Бизнес-пользователи могут управлять тем, какую версию видит та или иная группа пользователей. Обновление и откат версии сервиса могут происходить без прерывания работы пользователей. И когда появился такой мощный и красивый молоток, все начали хотеть забивать гвозди только им. Даже те, кому это, на самом-то деле, вообще не нужно. И тут есть проблема - наличие инструмента не означает автоматической готовности сервисов для того, чтобы этот инструмент с ними можно было использовать. И если обновлять сервисы старым способом было сложно, то новым это делать еще сложнее. Давайте посмотрим, почему это так, и как вообще получить этот ваш Zero Downtime.

Читать статью
👍6
JDBC vs JPA

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

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

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

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

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

Читать статью
👍6
Создание PDF-документа на Java и Spring

Друзья, пришло время практики!

Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.

Хорошей практики! 😃

Читать статью
👍5
Принципы SOLID на примерах

Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.

Читать статью
👍4🔥3
Обработка исключений в Java

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

Мы не будем спорить о том, хорошим было это решение или нет, мы просто еще раз повторим этот механизм.

Теория, здравствуй! 😳

Читать статью
👍5
FAQ по var в Java

Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной.

Читать статью
👍4
​​Spring Boot Best Practices для разработчиков

Spring Boot представляет собой популярный и производительный фреймворк для корпоративных приложений. 😏

Предложенная сегодня статья предоставит рекомендации, как такое приложение улучшить и сделать его еще более эффективным.

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

Читать статью
👍6
Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore

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

На источники, откуда черпалась информация, предоставлены ссылки в конце статьи.

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

Читать статью
👍7
Про интерфейсы и изолированные классы в Java

Иногда полезно смотреть на какое-либо "решение" под разными углами, через призму восприятия другими людьми. 😳

В предложенной сегодня статье Брюс Эккель рассмотрит интерфейсы и изолированные классы в Java.

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

Читать статью
👍8🔥1
Еще один путь снизить боль при работе с Java проектами и их документированием

За время карьеры, чаще всего сталкивался с ситуацией, когда получаешь проект в котором непонятно где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят, что «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же много раз после перебросок между многочисленными проектами, бывало встречалась ситуацию, когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.

Читать статью
👍9
Забавная статистика о JDK 20

Задумывались ли вы когда-нибудь о том, сколько классов в стандартной библиотеке Java, или какое самое длинное имя класса, или какой размер самого маленького или самого большого класса и тд. Эта необычная и интересная статья погрузит вас в подобную статистику.

Читать статью
👍8🔥2
Как в Java считывать данные из файла в 2023 году

Если вы спросите StackOverflow или ChatGPT, как преобразовать InputStream в String в Java, то получите устаревшие способы с утомительными циклами. Современная Java решает эту и подобные задачи одной строкой кода. Подробности в статье.

Читать статью
👍71🔥1
Java и низкая задержка

Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.

Читать статью
👍6🔥1
Настраиваем память JVM-приложения в Kubernetes

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

Читать статью
👍5
ТОП недооцененных горячих клавиш Intellij IDEA

Друзья, знаете ли вы, но горячие клавиши в IntelliJ IDEA буквально зашиты в ДНК: с их помощью можно выполнить любое действие, о котором вы даже не задумывались.

Предложенная сегодня статья предлагает вам ТОП недооцененных горячих клавиш для Intellij IDEA.

Хорошей практики!

Читать статью
🔥8
Сравниваем Hashtable, HashMap и ConcurrentHashMap

Друзья, следующая статья имеет практический характер. 😳

В предложенной статье рассмотрены структуры данных HashMap, HashTable и ConcurrentHashMap с точки зрения производительности на реальных примерах.

Компетенция, приди!

Читать статью
👍71
👩‍💻 Если вы работаете над реальным проектом, то наверняка используете внешние зависимости. Рано или поздно вам потребуется проанализировать, какие зависимости использует ваше приложение. Например, вы можете захотеть узнать, какая версия той или иной библиотеки используется в вашем приложении и т.д.

Давайте
посмотрим, как IntelliJ IDEA может помочь в анализе зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3