Skip to main content

Java

Java Vector API (JEP 537): SIMD, Auto-Vectorization, Masks, and Real Benchmarks

A beginner-to-advanced guide to Java's Vector API (JEP 537, twelfth incubator in JDK 27). Start from what a CPU vector and SIMD actually are, see how HotSpot's C2 auto-vectorizes simple loops for free (with an experiment that proves it), learn when auto-vectorization silently gives up, then write real vector loops with species, the loopBound tail pattern, and masks for branchless control flow - including a JMH-measured 5.0x speedup on one masked-filter workload and 5.7x on a branchy brightness kernel, the exact machine those numbers came from, and a runnable companion repository.

Spring Data JPA 3 to 4 Migration Guide: Query Derivation Changes, the hibernate-processor Coordinate Swap, and Value-Objects

A beginner-to-advanced guide to migrating the repository layer from Spring Data JPA 3 to 4 on Spring Boot 4.1: the hibernate-jpamodelgen → hibernate-processor coordinate swap and the silent metamodel failure it causes, why derived queries now generate JPQL instead of CriteriaQuery (and the getSingleResultOrNull edge case), records as @Embeddable value objects and projection targets, JSpecify nullability, the refined Specification API, and the removed config that breaks your build — all mapped to real code and errors on a Spring Boot 4.1 app.