Telegram Web Link
🖥 Axiom JDK Express

🟡Axiom JDK заявила о выпуске Axiom JDK Express. Axiom JDK Expres представляет собой российскую среду исполнения Java c улучшенной производительностью. В новой среде была оптимизирована платформа Java. Это позволило ускорить Java‑приложения до 15% без дополнительных затрат на оборудование. По словам разработчиков, благодаря полной совместимости со стандартом миграция на Axiom JDK Express с Java SE и сборок OpenJDK происходит бесшовно.

🟡Новая среда улучшает работу LTS‑версий Java 8 и 11 с долгосрочной поддержкой, утверждают разработчики. Как они рассказали, почти половина всех Java‑приложений использует Java 8 и 11. При переходе этих приложений на Axiom JDK Express они получат значительный прирост скорости и экономию аппаратных средств без переписывания кода.

🟡Axiom JDK Express объединяет виртуальную машину версии JVM 17 и среду исполнения JDK 8 или 11, повышая производительность систем до 15%. При этом не нужно менять версию фреймворка или код приложения. Достаточно изменить только один компонент вместо полноценной миграции на новый релиз JDK. Среда исполнения Axiom JDK Express ускоряет системы до уровня версии JDK 17 без изменений кода, включая сервер приложений Libercat.

Среди улучшений JDK 8:
— обновление механизмов сборки мусора, включая поддержку суб‑миллисекундных пауз и терабайтной кучи во всех версиях;

— запуск на 10% быстрее;

— скорость сжатия на 85%;

— скорость распаковки на 113%.

🟡Также Axiom JDK рассказала, что её инженеры будут поддерживать JDK 8 до марта 2031 года,

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Cобеседование по Java. Spring Framework

Встречайте большую подборку вопросов и ответов по Spring для подготовки к собеседованию.
Есть и теоретические вопросы, и те, которые проверяют наличие реального опыта
В общем — самое то, чтобы освежить важные концепции

Вот несколько вопросов:
Как использовать JDBC Template в Spring Framework?
Каковы различные части DispatcherServlet?
Что вы понимаете под Dependency Injection (DI)?
Что такое Аспектно-ориентированное программирование (AOП)?
Как работать с Kafka в Spring Framework?
Как добавить компонент в Spring?
Что такое жизненный цикл Spring Bean?

📎 Ссылка на вопросы/ответы
📎2250 реальных вопросов с собеседования на Java Developer

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Отличия Sequence API vs Collection в Kotlin

Держите хорошее объяснение отличий между 2 этими понятиями.

В статье рассматриваются примеры, которые помогают визуализировать разницу между Sequence API и обычными коллекциями.

Последовательность — это итерируемый тип, с которым можно работать, не создавая ненужных промежуточных коллекций.

Sequence API в Kotlin могут обрабатывать данные более эффективно, чем обычные коллекции.

📎Читать подробнее: [ru], [en]

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Android-приложение для демонстрации работы основных функций SDK на Kotlin

Отличная идея для пет-проекта;
описание возможностей приложения:
• Инициализация платежа
• Отмена платежа
• Возврат платежа
• Проведение клиринга
• Проведение рекуррентного платежа
• Получение информации/статуса платежа
• Добавление карт/Удаление карт
• Оплата добавленными картами
• Безакцептные платежи
• Создание платежа с Google Pay

🖥 GitHub

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Пишем на Java в VSCode

Держите отличную статью о том, как перейти с JetBrains на VSCode для разработки код на Java + Spring Boot.
Обсуждается готовый список расширений, примеры настроек IDE, подготовка расширений для работы.

Большинство разрабов пишут на Java в IDEA и даже не подозревают, что у VSCode есть разные приятные фишки — об этом и идёт речь в статье.

План статьи
Точка старта

Установка VSCode и расширений
— Extension Pack for Java
— SonarLint
— Промежуточная проверка
— Spring Boot Extension Pack
— Рекомендуемые расширения
— Расширения для переноса своего JetBrains опыта
— Настройки
— Настроить сервер для Spring Initalizr
— Активировать внешние правила оформления кода
— GitHub Copilot

Что в итоге получилось?

📎 Статья

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Package Search — крутой плагин для поиска библиотек для Java и Kotlin прямо из редактора.

По умолчанию он поддерживает поиск в следующих менеджерах пакетов: Maven, Gradle и Amper.

📌 Github

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Золотой век Kotlin, и какое будущее его ждёт

«В компании Infobip с 2017 года и до сегодняшнего дня идет золотой век Kotlin. Будет ли он продолжаться, зависит исключительно от JetBrains и их способности внедрять инновации в Kotlin»

Полезная статья, в которой затрагиваются важные вещи, автор рассуждает о том, почему одни технологии сменяют другие, почему взлетевшие Scala и Groovy не так популярны сегодня и т.д.

Разбираются достоинства и недостатки Kotlin:
Плюсы Kotlin
— Интероперабельность с Java
— Корутины
— Структура данных и сопоставление шаблонов
— Работа с Null
— Другие особенности

Минусы Kotlin
— Интероперабельность с Java
— Экосистема Kotlin
— Рабочая сила
— Отсутствие прогресса

📎 Статья

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 О .not() и ! в Kotlin

Мы довольно часто используем оператор .not(), поскольку это более читабельно, чем !.

Но есть одна вещь, которую оператор .not() не может сделать — поглядите:
myEvents?.forEach { myEvent -> 
if (!myEvent.events.isNullOrEmpty()) {
myEvent.events.find { it.type == eventType }
}

if (myEvent.events.isNullOrEmpty().not()) {
myEvent.events.find { it.type == eventType }
}
}

Как-то так


@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Работа с интерфейсами Kotlin: правильная инициализация

В Kotlin интерфейсы не имеют конструкторов и не способны создавать экземпляры сами по себе. Они выступают в качестве шаблонов для классов, которые обязаны их реализовывать, предлагая конкретные реализации абстрактных методов, предусмотренных интерфейсом. Вот наглядный пример:

interface MyInterface {
fun myFunction()
}

class MyClass : MyInterface {
override fun myFunction() {
println("Пришло время действовать!")
}
}

val myObject = MyClass()
myObject.myFunction()

Помните: определите класс, который должен реализовывать интерфейс, а затем инициализируйте класс, создав его экземпляр.

📎 Читать подробнее

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Современные практики создания Java/JVM-проектов

Это wiki со статьями о создании современных Java/JVM-проектов с помощью Gradle и Maven.
Эти советы работают и для не-Java языков на JVM, хотя детали могут измениться.

🖥 GitHub

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
2024/10/01 18:49:49
Back to Top
HTML Embed Code: