Skip to main content

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.

Java Value Classes (JEP 401): The Complete Guide to Project Valhalla’s First Preview (Beginner to Advanced)

A beginner-to-advanced guide to Java value classes (JEP 401), Project Valhalla's first preview targeting JDK 28. Learn what object identity costs (with runnable benchmarks), the value keyword, value records, the new construction rule, changed == semantics, Objects.hasIdentity, scalarization and heap flattening (with diagrams and a real 3x LocalDate benchmark), migrated JDK classes, migration rules, and what's not in the preview yet.

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.