Глубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.
В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.
Читать статью
Я провел в изучении 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: истории появления и некоторых особенностях.
Читать статью
В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение.
Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA?
В этой статье мы поговорим о JDBC и JPA: истории появления и некоторых особенностях.
Читать статью
Telegraph
JDBC vs JPA
В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение. Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать?…
👍10
Разрешение конфликтов слияния Git в IntelliJ IDEA
В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.
Читать статью
В статье рассказывается на примере, как в IDEA разрешать проблемы, возникающие при слиянии разных веток.
Читать статью
👍12
Друзья, вашему вниманию предлагается подборка Java-новостей от InfoQ:
- релиз Amazon Corretto 19
- релиз LibericaJDK 19
- релиз Jakarta EE
- релиз Spring Boot 2.7.4 и 2.6.12
- релиз Quarkus, Payara, Micronaut
и д. р.
Приятного чтения!
Читать статью
- релиз Amazon Corretto 19
- релиз LibericaJDK 19
- релиз Jakarta EE
- релиз Spring Boot 2.7.4 и 2.6.12
- релиз Quarkus, Payara, Micronaut
и д. р.
Приятного чтения!
Читать статью
👍6🔥3
Создание PDF-документа на Java и Spring
Друзья, пришло время практики!
Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.
Хорошей практики! 😃
Читать статью
Друзья, пришло время практики!
Сегодня мы научимся с помощью eDocGen, Java и Spring создавать pdf-документы на основе шаблона из JSON/XML/БД.
Хорошей практики! 😃
Читать статью
👍7
Друзья, вашему вниманию предлагается новая подборка Java-новостей от InfoQ:
✔️ Брайан Гетц предложил упростить Java
✔️ BellSoft выпустил ОС Alpaquita Linux
✔️ релиз WildFly 27 Beta1
✔️ Red Hat выпустил Quarkus 2.13.0.Final
✔️ релиз Hibernate ORM 5.6.12.Final
✔️ JetBrains выпустил Kotlin 1.7.20
и д.р.
Приятного чтения!
Читать статью
✔️ Брайан Гетц предложил упростить Java
✔️ BellSoft выпустил ОС Alpaquita Linux
✔️ релиз WildFly 27 Beta1
✔️ Red Hat выпустил Quarkus 2.13.0.Final
✔️ релиз Hibernate ORM 5.6.12.Final
✔️ JetBrains выпустил Kotlin 1.7.20
и д.р.
Приятного чтения!
Читать статью
👍7🔥1
Друзья, вышел третий апдейт для версии v2022.2 редактора кода IntelliJ IDEA от JetBrains.
В новом апдейте устранены ошибки, связанные с отображением корректного размера окна при создании ветки в VCS, проблем при открытии проектов с Python-файлами, а также добавлены другие улучшения.
Приятного использования!
Читать статью
В новом апдейте устранены ошибки, связанные с отображением корректного размера окна при создании ветки в VCS, проблем при открытии проектов с Python-файлами, а также добавлены другие улучшения.
Приятного использования!
Читать статью
👍7🔥3❤1
GraphQL: доступ запрещен
Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными проблемами и суровыми испытаниями: система оказалась довольно сложна и полна различных прав и ролей.
Всем привет! Меня зовут Олег, я — бэкенд-разработчик системы Talantix. В этой статье я расскажу о том, как работать с доступом к данным в GraphQL.
Читать статью
Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными проблемами и суровыми испытаниями: система оказалась довольно сложна и полна различных прав и ролей.
Всем привет! Меня зовут Олег, я — бэкенд-разработчик системы Talantix. В этой статье я расскажу о том, как работать с доступом к данным в GraphQL.
Читать статью
Telegraph
GraphQL: доступ запрещен
Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными…
👍5
Принципы SOLID на примерах
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
Читать статью
Всем привет! Данная статья - эта попытка объяснить принципы SOLID на примерах пcевдокода на Java. Статья будет полезна начинающим разработчикам понять данные принципы проектирования.
Читать статью
👍9
Обработка исключений в Java
Вы, конечно, знаете, что в Java обработка ошибок осуществляется при помощи исключений.
Мы не будем спорить о том, хорошим было это решение или нет, мы просто еще раз повторим этот механизм.
Теория, здравствуй! 😳
Читать статью
Вы, конечно, знаете, что в Java обработка ошибок осуществляется при помощи исключений.
Мы не будем спорить о том, хорошим было это решение или нет, мы просто еще раз повторим этот механизм.
Теория, здравствуй! 😳
Читать статью
🔥6👍2👏1
Друзья, вашему вниманию предлагается новая подборка Java-новостей от InfoQ. Встречаем новые релизы:
✔️ билд # 18 для Java 20.
✔️ Spring Shell
✔️ OmniFaces #4
✔️ Hibernate ORM 6.1.4
✔️ Apache Tomcat 9.0.68
и д.р.
Приятного чтения!
Читать статью
✔️ билд # 18 для Java 20.
✔️ Spring Shell
✔️ OmniFaces #4
✔️ Hibernate ORM 6.1.4
✔️ Apache Tomcat 9.0.68
и д.р.
Приятного чтения!
Читать статью
👍5
FAQ по var в Java
Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной.
Читать статью
Локальные переменные — это "рабочие лошадки" Java. Они используются для хранения промежуточных результатов вычислений. И, в отличие от полей, объявляются, инициализируются и используются в одном блоке. Для понимания кода часто более важны имя и инициализатор, чем тип локальной переменной.
Читать статью
👍5🔥2
Spring Boot Best Practices для разработчиков
Spring Boot представляет собой популярный и производительный фреймворк для корпоративных приложений. 😏
Предложенная сегодня статья предоставит рекомендации, как такое приложение улучшить и сделать его еще более эффективным.
Приятного чтения!
Читать статью
Spring Boot представляет собой популярный и производительный фреймворк для корпоративных приложений. 😏
Предложенная сегодня статья предоставит рекомендации, как такое приложение улучшить и сделать его еще более эффективным.
Приятного чтения!
Читать статью
👍9🔥2👏1
Многопоточность Java. #неОпятьАСнова #javaJunior #javaCore
Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.
На источники, откуда черпалась информация, предоставлены ссылки в конце статьи.
Статья будет полезна тем, кто изучает или повторяет основы Java Core.
И тем, кто готовится к собеседованию.
Читать статью
Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. В этой статье тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.
На источники, откуда черпалась информация, предоставлены ссылки в конце статьи.
Статья будет полезна тем, кто изучает или повторяет основы Java Core.
И тем, кто готовится к собеседованию.
Читать статью
👍9
Spring: новости за прошедшую неделю / 18-е октября
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
👍6
Про интерфейсы и изолированные классы в Java
Иногда полезно смотреть на какое-либо "решение" под разными углами, через призму восприятия другими людьми. 😳
В предложенной сегодня статье Брюс Эккель рассмотрит интерфейсы и изолированные классы в Java.
Приятного чтения!
Читать статью
Иногда полезно смотреть на какое-либо "решение" под разными углами, через призму восприятия другими людьми. 😳
В предложенной сегодня статье Брюс Эккель рассмотрит интерфейсы и изолированные классы в Java.
Приятного чтения!
Читать статью
👍6
Java и низкая задержка
Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.
Читать статью
Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.
Читать статью
👍8
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Читать статью
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Читать статью
Telegraph
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.…
👍7
Java 17: что нового по сравнению с Java 11
Версия Java 17 была выпущена не так уж давно. Отличие этого релиза в том, что это — новая TLS-версия (Long Term Support, с долговременной поддержкой) после Java 11.
Читать статью
Версия Java 17 была выпущена не так уж давно. Отличие этого релиза в том, что это — новая TLS-версия (Long Term Support, с долговременной поддержкой) после Java 11.
Читать статью
Telegraph
Java 17: что нового по сравнению с Java 11
Версия Java 17 была выпущена не так уж давно. Отличие этого релиза в том, что это — новая TLS-версия (Long Term Support, с долговременной поддержкой) после Java 11. В этой статье рассмотрим новые практические функции, которые были введены между 11-ой и 17…
👍7🔥5
Spring: новости за прошедшую неделю / 25-е октября
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
👍4
ТОП недооцененных горячих клавиш Intellij IDEA
Друзья, знаете ли вы, но горячие клавиши в IntelliJ IDEA буквально зашиты в ДНК: с их помощью можно выполнить любое действие, о котором вы даже не задумывались.
Предложенная сегодня статья предлагает вам ТОП недооцененных горячих клавиш для Intellij IDEA.
Хорошей практики!
Читать статью
Друзья, знаете ли вы, но горячие клавиши в IntelliJ IDEA буквально зашиты в ДНК: с их помощью можно выполнить любое действие, о котором вы даже не задумывались.
Предложенная сегодня статья предлагает вам ТОП недооцененных горячих клавиш для Intellij IDEA.
Хорошей практики!
Читать статью
👍4🔥2