After years of ignoring some key JPA methods and annotations, I finally explored them - and what happened next was shocking: my application became up to 10× faster with fewer queries, less memory use, and way cleaner code. 🔄 1. JpaRepository.existsById() Instead of findById() If you only need to check if something exists: if (userRepository.existsById(id)) { // no need to load entire entity} ✅ Why it's faster: Avoids unnecessary entity loading and reduces SQL size.
As a toy example, consider package org.example.graphicsobject WrappedColor { def apply(r: Int, g: Int, b: Int): WrappedColor = new WrappedColor(r, g, b)}import java.awt.Colorclass WrappedColor(r: Int, g: Int, b: Int) { val color = new Color(r, g, b)} Then we can write things like val wrapC = WrappedColor(128, 0, 255) Okay, seems like a lot of effort just to not have to write " new." But Scala programmers with a lot more sophistication than myself have been wanting this effort.
This week's Java roundup for December 22nd, 2025, features news highlighting: new interfaces, VaultClient and ReactiveVaultClient, in Spring Vault; point releases for LangChain4j and Seed4J; maintenance releases for Micronaut, Quarkus and Infinispan; and the second release candidate of Gradle 9.3. JDK 26 Build 29 remains the current build in the JDK 26 early-access builds. More details on this release may be found in the release notes.
The TornadoVM project recently reached version 2.0, a major milestone for the open-source project that aims to provide a heterogeneous hardware runtime for Java. This release is likely to be of particular interest to teams developing LLM solutions on the JVM. The project automatically accelerates Java programs on multi-core CPUs, GPUs, and FPGAs. It does not replace existing JVMs, but instead adds the capability of offloading Java code to the backends,
Announced December 10, the deal enables Java platform provider Azul to offer faster, more efficient, more secure, and more cost-effective deployments in the Java application stack, Azul said. The company said the combination of Azul and Payara addresses pressing challenges enterprises face today: accelerating application modernization, achieving cloud-native agility, and reducing dependencies on proprietary platforms. With an integrated offering, users are provided with a unified, enterprise-grade Java platform based on open-source that can support an organization's full Java fleet
If you've encountered SSL certificate errors while trying to download Maven dependencies from GitHub Packages, you're not alone. The error typically looks something like this: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:unable to find valid certification path to requested target This happens because Java maintains its own truststore (cacerts file) that contains trusted SSL certificates. If GitHub's certificate isn't in your Java truststore, your build tool (Maven/Gradle) will refuse to connect.
This report summarizes the InfoQ Java editorial team's current perspective on the adoption of technology and emerging trends within the Java space. We focus on Java, the language, as well as related languages such as Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities. We discuss trends in core Java, including the adoption of new Java versions, as well as the evolution of frameworks such as the Spring Framework, Jakarta EE, Quarkus, Micronaut, Helidon, and MicroProfile.
The Java Virtual Machine (JVM) is a marvel of engineering, optimized for long-running, high-performance applications. Its just-in-time (JIT) compiler analyzes code as it runs, making sophisticated optimizations to deliver incredible peak performance. But this strength becomes a weakness in a serverless model. When a Lambda function starts cold, the JVM must go through its entire initialization process: loading classes, verifying bytecode and beginning the slow warm-up of the JIT compiler. This can take several seconds - an eternity for a latency-sensitive workflow.
The JUnit team has released JUnit 6.0.0 (GA on September 30, 2025), unifying version numbers across Platform, Jupiter, and Vintage and raising the minimum to Java 17 (and Kotlin 2.2 for Kotlin test code). The update adds native support for Kotlin tests, a new API with fail-fast execution in the ConsoleLauncher, built-in Java Flight Recorder (JFR) listeners, adoption of JSpecify nullability across modules, and a switch to FastCSV for CSV-driven parameterized tests.