Jextract — The Native Library Binding Extraction Tool
Проект Panama разработан для поддержки доступа к нативным библиотекам на Java. Foreign Function and Memory API (FFM API) упрощает взаимодействие между JVM и чужими API-интерфейсами. FFM API добавлена в JDK 22 для поддержки доступа к внешней памяти и вызова внешних функций. Инструмент Jextract анализирует заголовочные файлы нативных библиотек и генерирует Java-код для использования внешних функций и API памяти. О том, как использовать этот инструмент, подробно в гайде.
https://dev.java/learn/jvm/tools/complementary/jextract/
👉
Проект Panama разработан для поддержки доступа к нативным библиотекам на Java. Foreign Function and Memory API (FFM API) упрощает взаимодействие между JVM и чужими API-интерфейсами. FFM API добавлена в JDK 22 для поддержки доступа к внешней памяти и вызова внешних функций. Инструмент Jextract анализирует заголовочные файлы нативных библиотек и генерирует Java-код для использования внешних функций и API памяти. О том, как использовать этот инструмент, подробно в гайде.
https://dev.java/learn/jvm/tools/complementary/jextract/
👉
Dev.java: The Destination for Java Developers
Jextract - The Native Library Binding Extraction Tool - Dev.java
Run jextract and use the generated Java bindings to integrate native libraries in your application.
Advancing AI by Accelerating Java on Parallel Architectures
Статья рассказывает про эволюцию платформы Java в контексте растущих требований к машинному обучению и параллельной обработке. Java, известная своей надежностью и масштабируемостью, адаптируется для создания высокопроизводительных, ориентированных на данные приложений. Это подробное исследование предназначено для опытных разработчиков Java, архитекторов программного обеспечения и энтузиастов, которые заинтересованы в использовании возможностей Java для внедрения инноваций в быстро растущих областях искусственного интеллекта и высокопроизводительных вычислений.
https://inside.java/2024/10/23/java-and-ai/
👉
Статья рассказывает про эволюцию платформы Java в контексте растущих требований к машинному обучению и параллельной обработке. Java, известная своей надежностью и масштабируемостью, адаптируется для создания высокопроизводительных, ориентированных на данные приложений. Это подробное исследование предназначено для опытных разработчиков Java, архитекторов программного обеспечения и энтузиастов, которые заинтересованы в использовании возможностей Java для внедрения инноваций в быстро растущих областях искусственного интеллекта и высокопроизводительных вычислений.
https://inside.java/2024/10/23/java-and-ai/
👉
Five Ways to Speed up Your Maven Builds
Как ускорить ваши Maven-сборки? «Поставить Gradle», — скажет кто-то. Ребята из Gradle считают иначе и даже подготовили статью на эту тему. По их мнению, в случае проблем со скоростью ваших сборок стоит присмотреться к профилям: возможно, некоторые плагины сильно замедляют сборку. С помощью профилей можно отключить часть плагинов для локальной или CI-сборки в зависимости от того, что вам нужно ускорить.
https://gradle.com/blog/five-ways-to-speed-up-your-apache-maven-builds/
👉
Как ускорить ваши Maven-сборки? «Поставить Gradle», — скажет кто-то. Ребята из Gradle считают иначе и даже подготовили статью на эту тему. По их мнению, в случае проблем со скоростью ваших сборок стоит присмотреться к профилям: возможно, некоторые плагины сильно замедляют сборку. С помощью профилей можно отключить часть плагинов для локальной или CI-сборки в зависимости от того, что вам нужно ускорить.
https://gradle.com/blog/five-ways-to-speed-up-your-apache-maven-builds/
👉
Илья Спицын, X5 Tech — jOOQ. Лекарство от Hibernate?
Поговорили об SQL-driven работе с БД. Спикер кратко сравнил инструменты и рассказал о преимуществах jOOQ для построения сложных запросов. Показал несколько примеров, где jOOQ может пригодиться разработчику.
Доклад будет полезен разработчикам, которые задумываются о поиске альтернативных инструментов для работы с БД.
https://youtu.be/SCSLoi4iiXA?si=D3Ez3kFFKFLB4zmK
👉
Поговорили об SQL-driven работе с БД. Спикер кратко сравнил инструменты и рассказал о преимуществах jOOQ для построения сложных запросов. Показал несколько примеров, где jOOQ может пригодиться разработчику.
Доклад будет полезен разработчикам, которые задумываются о поиске альтернативных инструментов для работы с БД.
https://youtu.be/SCSLoi4iiXA?si=D3Ez3kFFKFLB4zmK
👉
YouTube
Илья Спицын, X5 Tech — jOOQ. Лекарство от Hibernate?
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
Подробности и билеты: https://jrg.su/T2zfbS
— —
Скачать презентацию с сайта Joker — https://jrg.su/I1Ewqb
Поговорили об SQL-driven работе с БД. Спикер кратко сравнил инструменты и рассказал…
Подробности и билеты: https://jrg.su/T2zfbS
— —
Скачать презентацию с сайта Joker — https://jrg.su/I1Ewqb
Поговорили об SQL-driven работе с БД. Спикер кратко сравнил инструменты и рассказал…
RESOURCE_LOCAL JPA Transaction Type
Небольшая статья от Vlad Mihalcea, посвященная типу транзакции RESOURCE_LOCAL в JPA. Тип транзакции RESOURCE_LOCAL используется как стандартный в Spring Data JPA. Советуем ознакомится со статьей, если еще не слышали про такой тип транзакции.
https://vladmihalcea.com/resource_local-jpa-transaction-type/
👉
Небольшая статья от Vlad Mihalcea, посвященная типу транзакции RESOURCE_LOCAL в JPA. Тип транзакции RESOURCE_LOCAL используется как стандартный в Spring Data JPA. Советуем ознакомится со статьей, если еще не слышали про такой тип транзакции.
https://vladmihalcea.com/resource_local-jpa-transaction-type/
👉
CompletableFuture Example: Crawler
Статья посвященная использованию Completable Future и содержит интересный пример его использования. Описана реализация веб-сканера (web crawler), который, начиная с Reddit/r/Java, будет по ссылкам искать новости, посвященные хакингу.
https://concurrencydeepdives.com/java-completablefuture-example/
👉
Статья посвященная использованию Completable Future и содержит интересный пример его использования. Описана реализация веб-сканера (web crawler), который, начиная с Reddit/r/Java, будет по ссылкам искать новости, посвященные хакингу.
https://concurrencydeepdives.com/java-completablefuture-example/
👉
Null Object Pattern to Avoid Null Pointer Exception with JEP-45
Небольшая заметка об использовании Null Object Pattern в контексте добавления поддержки примитивных типов в Pattern Matching в JEP-455.
https://foojay.io/today/exploring-new-features-in-jdk-23-null-object-pattern-to-avoid-null-pointer-exception-with-jep-455/
👉
Небольшая заметка об использовании Null Object Pattern в контексте добавления поддержки примитивных типов в Pattern Matching в JEP-455.
https://foojay.io/today/exploring-new-features-in-jdk-23-null-object-pattern-to-avoid-null-pointer-exception-with-jep-455/
👉
How to Use LazyConnectionDataSourceProxy with Spring Data JPA
Небольшая заметка о LazyConnectionDataSourceProxy — инструменте, который позволяет получать коннект к БД в Lazy-режиме, то есть в момент непосредственного выполнения запроса, что улучшает утилизацию коннектов и позволяет увеличить пропускную способность приложения.
https://vladmihalcea.com/lazyconnectiondatasourceproxy-spring-data-jpa/
👉
Как готовить свой код к виртуальным потокам
Олег Естехин
Виртуальные потоки в релизе с осени прошлого года. Все их очень ждали, а после релиза информации о том, что кто-то на них перешел, не так уж и много. То ли все очень просто, и все (кроме нас) уже давно переключились, и там нечего рассказывать. То ли все очень сложно, и все просто стесняются рассказать о своих фейлах. А нам бы очень не помешали подсказки — что и зачем менять в коде, чтобы он мог работать на виртуальных потоках.
Разобираемся, почему надо что-то менять, с какими проблемами можно столкнуться и как их диагностировать. Подсматриваем, что делали в JDK и известных фреймворках и библиотеках, чтобы их можно было использовать с виртуальными потоками. Примеряем эти решения на свой код.
Решаем, надо ли вообще что-то менять.
https://www.youtube.com/watch?v=dVh88WVS6NU
👉
Олег Естехин
Виртуальные потоки в релизе с осени прошлого года. Все их очень ждали, а после релиза информации о том, что кто-то на них перешел, не так уж и много. То ли все очень просто, и все (кроме нас) уже давно переключились, и там нечего рассказывать. То ли все очень сложно, и все просто стесняются рассказать о своих фейлах. А нам бы очень не помешали подсказки — что и зачем менять в коде, чтобы он мог работать на виртуальных потоках.
Разобираемся, почему надо что-то менять, с какими проблемами можно столкнуться и как их диагностировать. Подсматриваем, что делали в JDK и известных фреймворках и библиотеках, чтобы их можно было использовать с виртуальными потоками. Примеряем эти решения на свой код.
Решаем, надо ли вообще что-то менять.
https://www.youtube.com/watch?v=dVh88WVS6NU
👉
YouTube
Олег Естехин — Как готовить свой код к виртуальным потокам
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
Подробности и билеты: https://jrg.su/T2zfbS
— —
Виртуальные потоки в релизе с осени прошлого года. Все их очень ждали, а после релиза информации о том, что кто-то на них перешел, не так…
Подробности и билеты: https://jrg.su/T2zfbS
— —
Виртуальные потоки в релизе с осени прошлого года. Все их очень ждали, а после релиза информации о том, что кто-то на них перешел, не так…
Addressing Fragmentation in ZGC through Custom Allocators
Исследование направлено на уменьшение фрагментации в ZGC с помощью пользовательских распределителей. Цель исследования — уменьшить необходимость перемещения объектов в ZGC за счет использования распределителя на основе свободного списка.
https://inside.java/2024/06/19/thesis-zgc-fragmentation/
👉
Исследование направлено на уменьшение фрагментации в ZGC с помощью пользовательских распределителей. Цель исследования — уменьшить необходимость перемещения объектов в ZGC за счет использования распределителя на основе свободного списка.
https://inside.java/2024/06/19/thesis-zgc-fragmentation/
👉
Hack a Java application with the debugger
В статье автор рассматривает использование дебаггера для взаимодействия и изменения поведения JVM-приложений в режиме реального времени. Автор демонстрирует примеры изменения значений переменных и вызова методов приложения через отладчик, что позволяет вносить изменения в приложение без его перезапуска.
https://foojay.io/today/debugger-godmode-hacking-a-jvm-application-with-the-debugger/
👉
В статье автор рассматривает использование дебаггера для взаимодействия и изменения поведения JVM-приложений в режиме реального времени. Автор демонстрирует примеры изменения значений переменных и вызова методов приложения через отладчик, что позволяет вносить изменения в приложение без его перезапуска.
https://foojay.io/today/debugger-godmode-hacking-a-jvm-application-with-the-debugger/
👉
Hibernate JAVA_TIME_USE_DIRECT_JDBC setting
Небольшая статья Vlad Mihalcea о настройке в Hibernate, которая позволяет маппить типы времени из java.time напрямую, без прослойки в виде объекта Timestamp. А еще рассматривается то, какими драйверами для популярных БД это поддерживается.
https://vladmihalcea.com/hibernate-type-java_time_use_direct_jdbc/
👉
Небольшая статья Vlad Mihalcea о настройке в Hibernate, которая позволяет маппить типы времени из java.time напрямую, без прослойки в виде объекта Timestamp. А еще рассматривается то, какими драйверами для популярных БД это поддерживается.
https://vladmihalcea.com/hibernate-type-java_time_use_direct_jdbc/
👉
Vlad Mihalcea
Hibernate JAVA_TIME_USE_DIRECT_JDBC setting
Learn how the Hibernate JAVA_TIME_USE_DIRECT_JDBC setting works and what JDBC Driver supports this feature.
Как бы изменились наши будни, если бы создание программного кода стало легким и непринужденным? Представьте язык, созданный для удобства именно человека, а не машины, его синтаксис прост и понятен.
Такая мечта жила в умах разработчиков Microsoft, и в результате для нас разработали C#.
Итак, основные причины продолжить изучение C# уже на профессиональном уровне:
✔️C# занимает ведущую позицию среди языков программирования для создания компьютерных игр.
- Только C# официально совместим с движком Unity, одной из самых востребованных и надежных платформ для разработки игр.
⁃ Какой доход вы можете ожидать, изучив C# для разработки игр? При усердной работе можно рассчитывать на заработок от 200 000 рублей в месяц!
✔️C# - основной язык для разработки приложений под Windows:
- Изначально C# создан Microsoft для использования в своих продуктах.
- Они также разработали среду разработки Visual Studio, где поддержка C# реализована на высшем уровне. В Visual Studio есть инструменты Windows Forms, позволяющие созд...
Такая мечта жила в умах разработчиков Microsoft, и в результате для нас разработали C#.
Итак, основные причины продолжить изучение C# уже на профессиональном уровне:
✔️C# занимает ведущую позицию среди языков программирования для создания компьютерных игр.
- Только C# официально совместим с движком Unity, одной из самых востребованных и надежных платформ для разработки игр.
⁃ Какой доход вы можете ожидать, изучив C# для разработки игр? При усердной работе можно рассчитывать на заработок от 200 000 рублей в месяц!
✔️C# - основной язык для разработки приложений под Windows:
- Изначально C# создан Microsoft для использования в своих продуктах.
- Они также разработали среду разработки Visual Studio, где поддержка C# реализована на высшем уровне. В Visual Studio есть инструменты Windows Forms, позволяющие созд...
Совет по Spring Boot 💡
Если вы используете DTO в Spring Data/JPA, вы можете автоматизировать отображение между сущностями и DTO с помощью библиотеки Blaze Persistence (https://persistence.blazebit.com). Тогда вы сможете воспользоваться преимуществами, например, паттерна Spring repository.
👉
Если вы используете DTO в Spring Data/JPA, вы можете автоматизировать отображение между сущностями и DTO с помощью библиотеки Blaze Persistence (https://persistence.blazebit.com). Тогда вы сможете воспользоваться преимуществами, например, паттерна Spring repository.
👉
Java. Сортировки
Java. Сортировка пузырьком.
Java. О сортировке выбором.
Java. Быстрая сортировка. Объяснение на пальцах)
Java. Оценка сложности алгоритмов сортировки.
Java. Сортировка слиянием.
Java. Сортировка подсчетом.
Java. Сортировка вставками.
Java. Сортировка расческой. От пузырька до расчески.
👉
Java. Сортировка пузырьком.
Java. О сортировке выбором.
Java. Быстрая сортировка. Объяснение на пальцах)
Java. Оценка сложности алгоритмов сортировки.
Java. Сортировка слиянием.
Java. Сортировка подсчетом.
Java. Сортировка вставками.
Java. Сортировка расческой. От пузырька до расчески.
👉