Advertisement · 728 × 90

Posts by Holger Brands

Preview
java.evolved Code Snippets | java.evolved A collection of modern Java code snippets. Every old Java pattern next to its clean, modern replacement — side by side.

java.evolved – Every old Java pattern next to its modern replacement, side by side.

javaevolved.github.io

2 months ago 57 18 1 1

Congrats!
Are there any notable differences from the german edition?

4 months ago 0 0 1 0
JUnit Release Notes

#JUnit 6.0.0 is released!

✨ Java 17 and Kotlin 2.2 baseline
🌄 JSpecify nullability annotations
🛫 Integrated JFR support
🚟 Kotlin suspend function support
🛑 Support for cancelling test execution
⏭️ New `--fail-fast` mode for ConsoleLauncher
🧹 Removal of deprecated APIs

docs.junit.org/6.0.0/releas...

6 months ago 119 75 2 11
Java 25 / JDK 25: General Availability

Java 25 / JDK 25: General Availability: mail.openjdk.org/pipermail/jd...

Features: openjdk.org/projects/jdk...

Downloads: jdk.java.net/25/

#Java25 #JDK25 #OpenJDK #Java

7 months ago 81 52 0 3
Video

Ever wonder which #Spring project versions map to the latest Spring Boot release? 🤔
There is no more guessing if you navigate to spring.io/projects/gen...

8 months ago 32 14 1 1
@ParameterizedClass
@ValueSource(strings = {"foo", "bar"})
class SomeTests {
    @Parameter String value;
    
    @Test
    void shouldNotBeNull() {
        assertNotNull(value);
    }
    @Test
    void lengthShouldBeThree() {
        assertEquals(3, value.length());
    }
}

@ParameterizedClass @ValueSource(strings = {"foo", "bar"}) class SomeTests { @Parameter String value; @Test void shouldNotBeNull() { assertNotNull(value); } @Test void lengthShouldBeThree() { assertEquals(3, value.length()); } }

✨ New blog post: "STF Milestone 4: Parameterized test classes"

JUnit 5.13 introduced parameterized test classes (in addition to methods). They are a powerful testing tool that has long been missing from JUnit Jupiter...

👉 marcphilipp.de/blog/2025/06...

10 months ago 31 11 0 0
Preview
Java 25 Features (with Examples) Java 25: Scoped Values, Module Import Declarations, Compact Source Files, Instant Main Methods, Flexible Constructor Bodies, Compact Object Headers and more...

Java 25 enters Rampdown Phase One – and is packed with features:

✅ Scoped Values
✅ ​Compact Source Files + Instance Main Methods
✅ Flexible Constructor Bodies
✅ Stable Values (Preview)
✅ Structured Concurrency revamp

Full overview:
👉 www.happycoders.eu/java/java-25...

#Java #Java25

10 months ago 3 3 0 0

A lot of good #java stuff @devoxx.uk 😎

Here is the 2025 playlist:
youtube.com/playlist?lis...

11 months ago 9 4 0 0

Excellent resources below: 😎

11 months ago 1 0 0 0
Preview
Stable Values in Java - Finally Initialize Values Safely! What are Stable Values and how do you use them? What are Stable Lists, Stable Maps, and Stable Functions? How do Stable Values work internally?

Just published:

"Stable Values in Java 25: Finally Initialize Values Safely!"

Learn how this new preview feature solves common multi-threading initialization problems. No need to wait for Java 25 - get the details now!

www.happycoders.eu/java/stable-...

#Java #Java25 #StableValues

1 year ago 4 2 0 0
Advertisement

This is the moment you've all been waiting for... 🥁

#JUnit Jupiter support for @⁠ParameterizedClass as a companion to the existing @⁠ParameterizedTest support! 🚀

@marcphilipp.de has put a lot of work into this, and we're eager for you to try it out and provide feedback!!!

1 year ago 35 14 1 2

Does anyone know the implications for #Java Webstart apps?
If I'm not mistaken the JNLP spec explicitly mentions the SecurityManager. Will there be a spec revision or other measures?

1 year ago 4 1 1 0
Null-safety :: Spring Framework

I have just merged into Spring Framework main branch the huge commit (3458 files changed) that migrates the codebase to JSpecify annotations. That will allow Spring Framework 7 and related portfolio projects to provide next-level null-safety support to avoid NullPointerException at runtime.

1 year ago 48 7 0 3

Mapping ZonedDateTime and OffsetDateTime with Hibernate can be an issue. Not all databases support TIMESTAMP_WITH_TIMEZONE, and Hibernate has to convert it.

Starting with version 6, you can decide how to handle the timezone information by providing a TimeZoneStorageType.

These are your options:

1 year ago 1 2 1 0
Preview
Patterns.dev Learn JavaScript design and performance patterns for building more powerful web applications.

Improve how you architect webapps.

1 year ago 1 1 0 0

In a distributed system, after "reloading" an object you might need to reattach it to an existing object graph and propagate it. Equals checks via state or id/version won't do, as they might have not changed, but the instance has changed nevertheless.

1 year ago 0 0 0 0
Preview
Detoxifying the JDK Source Code There’s been a fair amount of churn through the JDK source code recently, up until Rampdown Phase 1 of JDK 24, which was last week. (RDP1 is similar to what other projects might call “f…

Interesting writeup from Stuart Marks @smarks.bsky.social:

"Permission checking and handling of privileged operations were a continuing maintenance burden on the JDK code. It’s good be rid of it." 🎉

stuartmarks.wordpress.com/2024/12/12/d...

#Java #JDK

1 year ago 4 2 0 0

Yes, but we want to avoid the "-am" option in this case to avoid testing unaffected modules, so we need to resort to installing with m3.
Hopefully, Maven 4 will offer enhancements in this regard, but I did not try yet.

1 year ago 1 0 0 0

But how do you test a subset of modules of a multi-module build?
Imagine a CI pipeline that has compiled everything in the previous stage and now wants to test the affected modules by a change. Using options "-pl -amd" will lead to a test classpath referencing Jars in local repo last time I checked.

1 year ago 0 0 1 0
Advertisement
Preview
WireMock Now Has an Official Spring Boot Integration Embed WireMock directly into Spring for annotation-driven configuration, automatic resource management, and simple declarative configuration of mocked APIs.

#WireMock Now Has an Official #SpringBoot Integration

1 year ago 22 7 0 0
NANOWAR OF STEEL - HelloWorld.java (Source Code Video) | Napalm Records
NANOWAR OF STEEL - HelloWorld.java (Source Code Video) | Napalm Records YouTube video by Napalm Records

How is this real? Nanowar, Napalm Record... #java based song. #metal music. Unfortunatly no simpler main method 😂

www.youtube.com/watch?v=yup8...

1 year ago 45 18 10 7
Post image

📝 "Revisiting the Outbox Pattern"

New blog post is out, taking a fresh look at the outbox pattern: how to implement it correctly, is it still relevant, which alternatives exist?

👉 www.decodable.co/blog/revisit...

1 year ago 43 12 2 2
Anonymous Analytics This page describes the anonymous analytics that Liquibase collects.

It is always worthwhile to read changelogs.
For example, #liquibase 4.30.0 and above will now collect statistics (#telemetry) with opt-out instead of opt-in. Thanks for nothing.

New #java projects will be using #flyway.

docs.liquibase.com/analytics/ho...

1 year ago 8 5 4 4

Alive and kicking!

I think that deserves a 24 hour live stream and release party...no? @nipafx.dev 😃

1 year ago 0 0 1 0
Preview
Spring Boot 3.4.0 available now Level up your Java code and explore what Spring can do for you.

Spring Boot 3.4 goes GA!

spring.io/blog/2024/11...

#spring @spring.io

1 year ago 29 13 0 1
Download Apache Maven – Maven

Apache Maven 4.0.0-rc-1 just dropped! I’ve been running 4.0.0 betas for a while now and definitely loved it so far.

Make sure to give the new features and major improvements a swing yourself: maven.apache.org/download.cgi

If you run into anything make sure to reach out!

#Java #Apache #Maven

1 year ago 55 24 2 1
Advertisement

Epic new #JEPCafe episode!

1 year ago 0 0 0 0

Hi Sharat,
would be nice to be included.😎

1 year ago 0 0 0 0

Welcome everybody!
Finally landed on Bluesky as well.
Let's see how it goes.🙂

1 year ago 3 0 1 0