Best of JavaDecember 2025

  1. 1
    Video
    Avatar of fknightForrestKnight·20w

    Why Rust Changed the Way I Think About Programming

    Learning Rust fundamentally changed how the author approaches programming in other languages. Rust's ownership model, borrow checker, and strict compiler forced explicit thinking about memory management, mutability, error handling, and concurrency. These lessons translated into writing more intentional code in Java and TypeScript—using immutability by default, treating the compiler as a collaborator, making error paths explicit, and thinking carefully about data ownership even with garbage collection. While Rust's strictness can be demanding, its principles help developers write safer, more maintainable code across any language.

  2. 2
    Article
    Avatar of baeldungBaeldung·17w

    What’s New in Maven 4

    Maven 4 introduces significant improvements after 15 years since Maven 3. Key updates include POM version 4.1.0, build/consumer POM separation for cleaner dependency resolution, new artifact types for explicit classpath and module path control, and renaming 'modules' to 'subprojects' to avoid confusion with Java modules. The release adds a tree-based lifecycle for better multi-project performance, before/after phase hooks, condition-based profile activation, and a unified sources section for custom source directories. An upgrade tool helps migrate from Maven 3, while maintaining backward compatibility with version 4.0.0 POMs.

  3. 3
    Article
    Avatar of inside_javaInside Java·17w

    Virtual Threads in the Real World: Fast, Robust Java Microservices with Helidon – Inside.java

    The Helidon team rewrote their Netty-based web server to use virtual threads, resulting in Helidon 4, the first microservices framework built from the ground up for virtual threads. The team shares their experience, lessons learned, implementation tips, and discusses upcoming features in Java 24 and beyond. This represents a significant architectural shift toward leveraging Java's virtual threads for building high-performance microservices.

  4. 4
    Article
    Avatar of springSpring·19w

    Spring Tools 5.0 released

    Spring Tools 5.0 has been released, marking a new major version of the development tooling for Spring Framework applications. This release provides enhanced IDE support for Java developers working with Spring-based projects.

  5. 5
    Article
    Avatar of baeldungBaeldung·18w

    Introduction to Netflix Hollow

    Netflix Hollow is a low-latency Java framework for distributing data from a source to multiple targets using a producer-consumer model. The producer fetches data from external systems and publishes snapshots to file systems or object storage, while consumers read and process these snapshots. The framework efficiently manages memory by offloading large datasets to external storage, addressing Java heap space issues. Implementation involves defining entity classes with primary keys, setting up publishers and announcers for producers, generating consumer APIs using HollowAPIGenerator, and configuring announcement watchers and retrievers for consumers. The library handles snapshot versioning, updates, and notifications automatically.

  6. 6
    Article
    Avatar of foojayioFoojay.io·20w

    Java 25: What’s New?

    Java 25 is the new Long-Term Support release featuring 18 JEPs. Key additions include PEM format support for cryptographic objects, Stable Values API for lazy initialization, JFR enhancements with CPU-time profiling and method timing/tracing, and improved AOT capabilities with method profiling. Several preview features graduate to standard including Scoped Values, Module Import Declarations, and Compact Source Files. The release removes 32-bit x86 support and includes performance optimizations like improved String hashcode handling and new security algorithms.

  7. 7
    Article
    Avatar of devblogsDevBlogs·16w

    Java at Microsoft: 2025 Year in Review

    OpenJDK 25 shipped as the new Long-Term Support release with Microsoft Build of OpenJDK 25 available across platforms and Azure services. GitHub Copilot expanded AI-assisted development across Java IDEs (Eclipse, IntelliJ, VS Code) and CLI, with new app modernization capabilities for upgrading Java versions and frameworks. Azure Command Launcher for Java entered public preview, providing automatic JVM tuning without manual configuration. Microsoft deepened investments in AI development with support for LangChain4j, Spring AI, Quarkus AI, and Embabel frameworks, plus educational content for beginners. The company participated in major Java conferences including Microsoft JDConf and JavaOne, while contributing to open source projects across the Java ecosystem.

  8. 8
    Article
    Avatar of justjavaJust Java·20w

    Java desktop app with Vue.js

    Learn how to build cross-platform desktop applications by combining a Vue.js frontend with a Java backend using JxBrowser's embedded Chromium engine. The approach enables modern web UI development while maintaining native filesystem access, offline capabilities, and seamless JavaScript-Java communication without requiring native toolkit rewrites.

  9. 9
    Article
    Avatar of inside_javaInside Java·19w

    New VS Code Extension with Java 25 and Notebooks Support – Inside.java

    Oracle released version 25.0.0 of its Java extension for VS Code, built on Apache NetBeans 27. The update adds full Java 25 support including preview features, introduces Interactive Java Notebooks (IJNB) for combining Markdown, executable code, and results in a single document, and improves JShell by automatically loading project classes for quick code verification.

  10. 10
    Article
    Avatar of jakartaeeJakarta EE·18w

    Book Review: Kotlin for Java Developers

    A book review of "Kotlin for Java Developers" that uses a problem-reasoning-solution approach to teach Kotlin. The book is divided into four sections covering basics, core concepts, idiomatic Kotlin features, and practical topics like coroutines and testing. While the first two chapters are weak and superficial, chapters three onward deliver strong value through structured concept presentations with Java comparisons and practical examples. Best suited as a complementary learning resource that can be completed in about a week, providing solid foundation for Android or backend Kotlin development.

  11. 11
    Article
    Avatar of infoqInfoQ·18w

    Java News Roundup: Spring Tools 5, TornadoVM, Payara Platform, Hibernate ORM, Spock Framework

    JDK 26 Build 28 and JDK 27 Build 2 early-access builds are now available with various bug fixes. Spring Tools 5.0 brings support for Spring Framework 7.0, Spring Boot 4.0, and AI integration with Cursor and Copilot. Spring AI 2.0.0-M1 introduces customizable tool calling loops and flexible text segmentation. Hibernate ORM 7.2.0 adds the @EmbeddedTable annotation and improved multi-ID loading. Payara Platform December 2025 edition includes experimental CRaC support. Apache Tomcat releases 11.0.15, 10.1.50, and 9.0.113 add strictSNI attribute for SNI host name matching. Spock Framework 2.4.0 adds Groovy 5.0 support and snapshot testing capabilities.

  12. 12
    Article
    Avatar of microservicesioMicroservices.io·19w

    Authentication and authorization in a microservice architecture - Part 5 - implementing complex authorization using Oso Cloud

    Authorization in microservices becomes complex when decisions require data from multiple services. Authorization-as-a-service platforms like Oso Cloud solve this by centralizing policy logic written in declarative languages (Polar) and evaluating authorization decisions via API calls. Services populate Oso with facts about roles and relationships through events (CQRS pattern), then delegate authorization checks instead of implementing complex conditional logic and database joins. This approach supports RBAC, ReBAC, and ABAC while reducing per-service implementation burden. The article demonstrates Oso integration in a security system application, showing how policies express role inheritance across resource relationships and how unification evaluates permission queries.

  13. 13
    Article
    Avatar of collectionsCollections·16w

    Java Weekly and Ecosystem Updates: Spring, IntelliJ, Quarkus, and More

    Spring Boot 4 launches with declarative interface clients, API versioning, and enhanced security. Spring Security 7 adds multi-factor authentication, passkeys, and OAuth Identity Provider support. Spring AI expands with MCP integration and agentic frameworks, while Spring gRPC reaches General Availability. Java improvements include script execution, virtual threads, GraalVM native images, and Project Leyden AOT caches offering 75%+ startup time improvements. Kotlin developers gain JSpecify-based null-safety in Spring Boot 4. Additional updates include IntelliJ IDEA debugging enhancements, Spring Vault 4.1.0 interfaces, JDK 26 field immutability enforcement, and releases for Quarkus, Infinispan, and Gradle.

  14. 14
    Article
    Avatar of justjavaJust Java·16w

    Beginner in Java

    A beginner asks the Java community about their experiences learning Java and how long it typically takes to become proficient with the language for career purposes.

  15. 15
    Article
    Avatar of newstackThe New Stack·16w

    Java Developers Get Multiple Paths To Building AI Agents

    Java is emerging as a strong contender to Python for enterprise AI development, with multiple frameworks now available for building AI agents. LangChain4j, Embabel, Koog, and Crew4J provide Java developers with tools for integrating LLMs and building agentic systems. While Python remains dominant for research and prototyping, Java's advantages in scalability, performance, concurrency, and enterprise integration position it well for production AI deployments. Industry analysts and framework creators predict Java could match or surpass Python for enterprise AI within 18 months to three years, particularly as the technology matures and production requirements become more critical.

  16. 16
    Article
    Avatar of springSpring·16w

    Evolving Spring Vault: Introducing VaultClient

    Spring Vault 4.1 introduces VaultClient and ReactiveVaultClient as modern replacements for the template-based API. The new fluent interface enforces relative path handling to prevent security issues, eliminates confusion between Vault and platform-specific HTTP clients, and aligns with Spring's HTTP client evolution. Built on RestClient/WebClient primitives, it provides better abstraction while preparing for RestTemplate deprecation in Spring Framework 7.1. Migration involves moving customizations from RestTemplateCustomizer to VaultClientCustomizer, with future plans for PKI integration with SSL bundles and database credential rotation.

  17. 17
    Article
    Avatar of quarkusQuarkus·18w

    Quarkus feature flags

    Quarkus Feature Flags is a lightweight, extensible Quarkiverse extension for implementing feature flags in Quarkus applications. It provides blocking/non-blocking APIs, multiple built-in flag providers (config-based, in-memory, Hibernate ORM), and integrations with Security, Qute templates, and CRON. The extension includes several flag evaluators for dynamic logic based on time spans, user identity, role-based access, and CRON expressions. Flags can be defined in application.properties or dynamically registered, with values computed as boolean, string, or integer. The SPI allows custom flag providers and evaluators through CDI beans, making it flexible for various use cases like gradual rollouts, permission control, and time-based feature activation.

  18. 18
    Article
    Avatar of springSpring·17w

    Spring Tools 5.0.1 released

    Spring Tools version 5.0.1 has been released. This is a maintenance update to the Spring development tooling suite for Java developers working with the Spring Framework.

  19. 19
    Article
    Avatar of vaadinVaadin·18w

    Faster and Slimmer Vaadin 25

    Vaadin 25 focuses on performance improvements and dependency reduction rather than new features. By requiring JDK 21 and improving modularization, it achieves 30% fewer transitive dependencies, 22 MB smaller artifacts (from 55 MB to 33 MB), 27% faster deployment times, and over 50% faster development server startup (down to 1.5 seconds from 3+ seconds). The framework replaces previously bundled libraries with core JDK features and separates Hilla dependencies to load only when needed, resulting in reduced CVE exposure and lower memory footprint.

  20. 20
    Article
    Avatar of foojayioFoojay.io·19w

    OpenTelemetry Guide

    Spring Boot 4 introduces native OpenTelemetry support through a single starter dependency, simplifying observability implementation. The guide covers configuring metrics, traces, and logs using the OTLP protocol, including step-by-step setup with Micrometer integration, Logback appender configuration, and Docker Compose testing with Grafana. This eliminates the need for multiple dependencies and Java agents required in Spring Boot 3, while providing seamless integration with GraalVM and AOT compilation.