Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java — это какая-то особенная магия. Разобраться в этом полезно для лучшего понимания как все работает изнутри.
https://habr.com/ru/articles/759990/
Многие, возможно, думают, что работа с байт-кодом Java — это какая-то особенная магия. Разобраться в этом полезно для лучшего понимания как все работает изнутри.
https://habr.com/ru/articles/759990/
Хабр
Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом....
Использование оконных функций с Hibernate 5 и 6
Начиная с версии 6, вы можете использовать оконные функции в запросах JPQL (Java Persistence Query Language — платформенно-независимый объектно-ориентированный язык запросов). Более старые версии Hibernate поддерживают их только в нативных запросах.
https://habr.com/ru/companies/otus/articles/743910/
Начиная с версии 6, вы можете использовать оконные функции в запросах JPQL (Java Persistence Query Language — платформенно-независимый объектно-ориентированный язык запросов). Более старые версии Hibernate поддерживают их только в нативных запросах.
https://habr.com/ru/companies/otus/articles/743910/
Thorben Janssen
JPQL - How to Define Queries in JPA and Hibernate
JPQL allows you to define database queries based on your entity model. Learn how to use all its features to build powerful queries with JPA and Hibernate.
Прожарка java.lang.String
Иногда комментарии к статье оказываются интереснее статьи )) вот пример. Хотя подача материала интересная и провокационная: как сломать строки в Java.
https://habr.com/ru/companies/bar/articles/747528/
Иногда комментарии к статье оказываются интереснее статьи )) вот пример. Хотя подача материала интересная и провокационная: как сломать строки в Java.
https://habr.com/ru/companies/bar/articles/747528/
Хабр
Прожарка java.lang.String
Давайте абьюзить баг в java.lang.String , который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки...
Выступление на Joker 2023: Польза и вред Java-сообществ для инженеров
Эксперты из разных сфер поделятся опытом. Поговорим о том, как возникают сообщества, какие есть риски и чем сообщества полезны инженерам и компании. Обсудим роли и как начать проявляться.
https://jokerconf.com/talks/8136e7bf53844a45b3a3bde40cfd05bc/?referer=/persons/ee4fea77ee85444cba7f1f866c8b862b/
Эксперты из разных сфер поделятся опытом. Поговорим о том, как возникают сообщества, какие есть риски и чем сообщества полезны инженерам и компании. Обсудим роли и как начать проявляться.
https://jokerconf.com/talks/8136e7bf53844a45b3a3bde40cfd05bc/?referer=/persons/ee4fea77ee85444cba7f1f866c8b862b/
Joker 2023. Конференция для опытных Java‑разработчиков
Польза и вред Java-сообществ для инженеров | Доклад на Joker 2023
Поговорим о том, как возникают сообщества, какие есть риски, и чем сообщества полезны инженерам и компании. Обсудим роли и как начать проявляться.
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
https://habr.com/ru/articles/747658/
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
https://habr.com/ru/articles/747658/
Хабр
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных....
Как на самом деле работает Java ClassLoader system?
В статье простым языком и с хорошей визуализацие описана работа ClassLoader.
https://habr.com/ru/articles/748758/
В статье простым языком и с хорошей визуализацие описана работа ClassLoader.
https://habr.com/ru/articles/748758/
Хабр
Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка
Когда я впервые погрузился в мир загрузчиков классов Java, это было ответом на любопытный вопрос. Популярные источники ( Wikipedia , Baeldung , DZone ) содержат устаревшую, иногда противоречащую друг...
Spring Data JPA: разница между методами findById, getOne, getById и findOne
Когда ваш репозиторий наследуется от
Но Spring Data явно не стала бы давать нам 4 совершенно одинаковых метода под разными именами. Итак, давайте подробнее рассмотрим эти методы и найдем их отличия.
https://thorben-janssen.com/spring-data-findbyid-getone-getbyid-and-findone/
Когда ваш репозиторий наследуется от
JpaRepository
из Spring Data JPA, он получает методы findById
, getOne
, getById
, и findOne
. Исходя из их имен, вы можете подумать, что они делают одно и то же.Но Spring Data явно не стала бы давать нам 4 совершенно одинаковых метода под разными именами. Итак, давайте подробнее рассмотрим эти методы и найдем их отличия.
https://thorben-janssen.com/spring-data-findbyid-getone-getbyid-and-findone/
Thorben Janssen
The difference between Spring Data JPA's findById, getOne, getById, and findOne methods - Thorben Janssen
Spring Data’s JpaRepository provides a huge set of methods that simplify the implementation of your database operations. You can use them to persist, remove, and read an entity object. Choosing the right method for your use case is one of the few problems…
Java 21: новый подход к созданию строк
Java 21 предлагает много классных функциональностей, и одна из них — шаблоны строк (англ. String Templates). При том, что их целевое назначение не ограничивается только строковой интерполяцией, для Java-разработчиков они служат еще одним “правильным” способом конкатенации строк.
https://nuancesprog.ru/p/18883/
Java 21 предлагает много классных функциональностей, и одна из них — шаблоны строк (англ. String Templates). При том, что их целевое назначение не ограничивается только строковой интерполяцией, для Java-разработчиков они служат еще одним “правильным” способом конкатенации строк.
https://nuancesprog.ru/p/18883/
NOP::Nuances of programming
Java 21: новый подход к созданию строк
Рассмотрим и сравним существующие техники конкатенации и интерполяции строк в Java, обратив особое внимание на новую функциональность Java 21 - шаблоны строк.
Магия Spring Framework своими руками
Прокси объекты являются основой "магии" Spring Framework. В качестве демонстрации реализована
https://habr.com/ru/articles/750894/
Прокси объекты являются основой "магии" Spring Framework. В качестве демонстрации реализована
@JmxExporter
аннотация, которая позволяет превратить любой Spring Bean в JMX MBean.https://habr.com/ru/articles/750894/
Хабр
Магия Spring Framework своими руками
DISCLAIMER Примеры кода в статье будут намеренно упрощены в угоду компактности изложения идеи, сама демонстрация идеи не страдает. Более пригодный для промышленной эксплуатации код можно найти в конце...
Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры
В этой статье мы рассмотрим, как Kafka Connect – мощный инструмент из экосистемы Apache Kafka – приходит на помощь при решении сложной задачи синхронизации данных между базами данных. Мы рассмотрим, как используя Kafka Connect, мы можем эффективно следить за изменениями в одной базе данных, обрабатывать их в нашем Java приложении и мгновенно записывать их в другую базу данных, обеспечивая надежность и безопасность данных.
https://habr.com/ru/articles/751256/
В этой статье мы рассмотрим, как Kafka Connect – мощный инструмент из экосистемы Apache Kafka – приходит на помощь при решении сложной задачи синхронизации данных между базами данных. Мы рассмотрим, как используя Kafka Connect, мы можем эффективно следить за изменениями в одной базе данных, обрабатывать их в нашем Java приложении и мгновенно записывать их в другую базу данных, обеспечивая надежность и безопасность данных.
https://habr.com/ru/articles/751256/
Хабр
Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры
Привет, Хабр! В наше время при постоянном росте объемов данных и необходимостью более быстрой и надежной обработки информации, мы сталкиваемся с требованием к эффективному обмену и синхронизации...
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Очень интересная статья о тонкостях загрузки и инициализации классов. Получил большое удовольствие от прочтения. Поводом для написания статьи стал вопрос на StackOverflow.
https://habr.com/ru/articles/740156/
Очень интересная статья о тонкостях загрузки и инициализации классов. Получил большое удовольствие от прочтения. Поводом для написания статьи стал вопрос на StackOverflow.
https://habr.com/ru/articles/740156/
Хабр
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце). Поводом для написания статьи стал вопрос на...
Новый взгляд на Maven-plugin для IDEA — GMaven
Многие из нас часто работают с maven проектами, но как среда разработки изнутри работает с maven? В статье один из разработчиков JetBrains из команды build tools делится тем как устроена работа Maven-plugin.
https://habr.com/ru/articles/753828/
Многие из нас часто работают с maven проектами, но как среда разработки изнутри работает с maven? В статье один из разработчиков JetBrains из команды build tools делится тем как устроена работа Maven-plugin.
https://habr.com/ru/articles/753828/
Хабр
Новый взгляд на Maven-plugin для IDEA — GMaven
Привет, меня зовут Григорий Мясоедов, ранее я имел опыт работы в JetBrains в команде build tools, а конкретно занимался Maven-plugin. В этой статье я хочу поговорить о том как устроен...
Исчерпывающее руководство по одномерным массивам в Java
Довольно подробное описание массивов в Java. Обратите особое внимание на «3. Тип данных массива» и «4. Длина массива». Там для исследования использует jol и рассказывает о структуре class файла.
https://habr.com/ru/articles/753638
Довольно подробное описание массивов в Java. Обратите особое внимание на «3. Тип данных массива» и «4. Длина массива». Там для исследования использует jol и рассказывает о структуре class файла.
https://habr.com/ru/articles/753638
Хабр
Исчерпывающее руководство по одномерным массивам в Java
Объявление переменной массива Создание массива Тип данных массива Длина массива Инициализация массива 5.1. Сокращенная форма создания и инициализации 5.2. Ручная инициализация по индексу 5.3....
Предложена опережающая (Ahead of time) компиляция для JVM
Надо признать довольно интересное предложение в контексте возможности ускорения старта приложения в облачной инфраструктуре.
https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Надо признать довольно интересное предложение в контексте возможности ускорения старта приложения в облачной инфраструктуре.
https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
InfoWorld
Ahead of time compilation proposed for the JVM
An OpenJDK plan would improve Java Virtual Machine startup times with the ability to load Java applications and libraries already compiled to native code.
Объектно-ориентированный подход к созданию REST-клиентов, или возможна ли жизнь без Open API
Довольно радикальный взгляд на возможность отказа от Open API в REST сервисах. Open API стал негласным стандартом при разработке REST сервисов. Возможно в локальных проектах где есть гарантия того , что будет использоваться исключительно экосистема JVM языков это решение окажется лучше. Сама идея мне лично понравилась.
https://habr.com/ru/companies/magnit/articles/763952/
Довольно радикальный взгляд на возможность отказа от Open API в REST сервисах. Open API стал негласным стандартом при разработке REST сервисов. Возможно в локальных проектах где есть гарантия того , что будет использоваться исключительно экосистема JVM языков это решение окажется лучше. Сама идея мне лично понравилась.
https://habr.com/ru/companies/magnit/articles/763952/
Хабр
Объектно-ориентированный подход к созданию REST-клиентов, или возможна ли жизнь без Open API
Как-то в общении с моим другом-разработчиком из одной крупной софтверной компании у нас зашёл разговор о взаимодействии распределённых команд. В его компании было множество достаточно изолированных...
Синхронизация в Java, часть 1: состояния гонки, блокировки и условия
Это первая статья цикла о синхронизации потоков из трех частей на основе книги "Java. Библиотека профессионала. Том 1. Основы", 12-е издание, Кей С. Хорстманн
https://blogs.oracle.com/javamagazine/post/java-thread-synchronization-raceconditions-locks-conditions
Это первая статья цикла о синхронизации потоков из трех частей на основе книги "Java. Библиотека профессионала. Том 1. Основы", 12-е издание, Кей С. Хорстманн
https://blogs.oracle.com/javamagazine/post/java-thread-synchronization-raceconditions-locks-conditions
O’Reilly Online Learning
Core Java, Volume I: Fundamentals, 12th Edition
The #1 Java Guide for Serious Programmers: Fully Updated through Java 17 Core Java, Volume I: Fundamentals, Twelfth Edition, is the definitive guide to writing robust, maintainable code. Whatever version … - Selection from Core Java, Volume I: Fundamentals…
Как скомпилировать Spring Boot приложение в native image с помощью GraalVm и развернуть его с помощью Docker
GraalVm довольно интересная штука, но лично меня она сильно не впечатлила. Старт приложения происходит действительно быстрее. В статье приводится пример сборки довольно простого приложения.
https://habr.com/ru/articles/755550/
GraalVm довольно интересная штука, но лично меня она сильно не впечатлила. Старт приложения происходит действительно быстрее. В статье приводится пример сборки довольно простого приложения.
https://habr.com/ru/articles/755550/
Хабр
Как скомпилировать Spring Boot приложение в native image с помощью GraalVm и развернуть его с помощью Docker
Предыстория До недавнего времени мой опыт работы с бекенд-приложениями ограничивался созданием приложения на базе Spring Boot различных версий с использованием реляционных баз данных, ликвибейза,...
Apache Flink ML – прогнозирование в реальном времени
Возможно ли заниматься машинным обучением на Java? Конечно ДА ))
Сегодня рассмотрим замечательный продукт Apache Flink ML.
https://habr.com/ru/companies/neoflex/articles/755804/
Возможно ли заниматься машинным обучением на Java? Конечно ДА ))
Сегодня рассмотрим замечательный продукт Apache Flink ML.
https://habr.com/ru/companies/neoflex/articles/755804/
Хабр
Apache Flink ML – прогнозирование в реальном времени
Всем привет! В этой статье рассмотрим применение библиотеки Apache Flink ML для построения конвейеров машинного обучения. Затем реализуем простой проект по прогнозированию поведения системы, а также...
«Фундаментальное»руководство по пакетам в Java
Джунам прочитать будет полезно. Пакеты в Java появились с самого начала, во времена, когда язык еще назывался Oak. Java-пакеты реализуют так называемое пространство имен (namespace), позволяющее использовать в проекте файлы с одинаковыми именами. Такой подход существует с давних времен во многих языках.
https://habr.com/ru/articles/755654/
Джунам прочитать будет полезно. Пакеты в Java появились с самого начала, во времена, когда язык еще назывался Oak. Java-пакеты реализуют так называемое пространство имен (namespace), позволяющее использовать в проекте файлы с одинаковыми именами. Такой подход существует с давних времен во многих языках.
https://habr.com/ru/articles/755654/
Хабр
Фундаментальное руководство по пакетам в Java
Что такое пакет Примеры пакетов Назначение пакетов Правила создания пакетов Импорт классов Компиляция и запуск Возможные ошибки и их решение Введение Пакеты в Java появились с самого начала, во...
IBM Watsonx использует генеративный ИИ для перевода кода COBOL на язык Java
https://www.infoworld.com/article/3705251/ibm-watsonx-to-use-generative-ai-to-translate-cobol-code-into-java.html#tk.rss_java
https://www.infoworld.com/article/3705251/ibm-watsonx-to-use-generative-ai-to-translate-cobol-code-into-java.html#tk.rss_java
InfoWorld
IBM Watsonx to use generative AI to translate COBOL code into Java
The product is targeted at modernizing mainframe applications that run on IBM Z systems, as the number of COBOL developers starts to dwindle.