Java 25 is comming

...

2025-06-29 · map[email: link: name:Kamila Chyla]

How to use Maven 4.0

This article presents a short overview of what has changed in Maven 4: changes in POM, most important improvements and a short migration guide. It is packed with helpful links which - I hope - will inspire you to check and play with this (still in beta) new Maven release. Important links You don’t need to read this article. Just look at the reference below: \uf0a7 What’s new in Maven 4 - on maven.apache.org Migrate to Maven 4 - in maven guide Guide to Working with Multiple Subprojects in Maven 4 IntelliJ Idea Conf 2024 - a talk: “The current state of Apache Maven 4” by Karl Heinz Marbaise The problem The problem that maven 4 solves is the lack of separation of concerns. And there are two which - untill maven 4 - were not cleanly set apart: ...

2025-06-08 · map[email: link: name:Kamila Chyla]

Maven Notes from JavaOne 2025

Notes from JavaOne The talk Apache Maven Survival Guide “Bring It On! gives a nice overview of the tools and techniques for managing the build process. Random trivia Super POM Apache Maven runtime is by default using Super Pom which - unless specified otherwiese - is the parent of each pom file: Dependency management Important: understanding what direct and indirect (transitive) dependencies are: Check default versions Use mvn help:effective-pom Learn to use mvn help:effective-pom - it merges default pom with the one in your repository. This is important, becasue if someone has different maven versions then - although they are using the same project’s pom, their default poms will almost certainly be different! ...

2025-05-25 · map[email: link: name:Kamila Chyla]

Java 24 Overview

As a Java senior developer I am always interested in the latest advancements in Java (24). I decided to take a look and summarise what’s happening “at the Edge” of Java. This release brings a host of new features and improvements that promise to enhance our development experience and push the boundaries of what we can achieve with Java. Each release makes tons and tons of Java tutorials onliny simply deprecated and this is particularily important for those who start to learn java. Perhaps I’m getting old, but the pace makes me feel like I just don’t follow along 👵 ...

2025-03-21 · map[email: link: name:Kamila Chyla]

The stoic developer

The Stoic Developer: Delivering Value with Focus and Serenity As software developer and contractor, I see the how fast the world changes: we’ve barely migrated our codebase from java 8 to java 17 whereas java 23 is going GA in two months time we’re constantly prioritizing the releases required to fix vulnerability issues other functionalities suffer from tight deadlines requirements are evolving “by default” in the “agile process” libraries are upgraded, new frameworks are created, software conference videos and podcasts are uploaded daily.dev, reddit and hackernews are dangerously pumping up my fomo levels In this whirlwind, it’s easy to feel overwhelmed - it is true for me and for my colleagues in the team: our work can suffer. Here’s where ancient Stoic philosophy offers a surprisingly potent toolkit. ...

2024-05-30 · map[email: link: name:Kamila Chyla]

Java, Go, Rust - comparison

How do Java, Go and Rust compare? Let’s dive (but not too deep) into Java, Go and Rust. Let’s compare common aspects of those languages, their popularity (Java wins), check how typesafe they are (Rust wins) and which is preredred (betwee Go and Rust, Go wins).

2024-01-12 · map[email: link: name:Kamila Chyla]

How to avoid switch statement in Spring Boot

...

2023-08-23 · Norbert Tusiński

If not ThreadLocal then what? ScopedValue!

What is a ScopedValue? ScopedValue is a value that can be seen and used in methods, but hasn’t been passed to them as a parameter. Untill recently this was possible in Java language by means of ThreadLocal variables. Let’s look at ThreadLocals for a moment to refresh our knowledge and let’s see what new features are being introduced by newer replacements, that is: ScopedValues. What is the ThreadLocal variable? ThreadLocal variables are typically declared as private global variables (static fields) and ensure that the value we read from them (using the get() method) is the same value that was previously stored in them (using the set() method) within the same thread (or the one returned by calling the protected initialValue() method that returns the initial value of the ThreadLocal variable). ...

2023-07-29 · map[email: link: name:Kamila Chyla]

What's new in Java 21?

Java 21 This is a real thing! Java 21 feels almost as a different programming language! Changes planned to be released in Sptember 2023 (in just a month!) can be roghly grouped into two categories: Language and library changes Here are the most important and - in my opinion - the most interesting changes that await us in Java 21. They are not revolutionary, but they make writing code - and, what is even more important, reading it - much easier. sequenced collectios record patterns patterns in switch virtual threads text patterns - preview unnamed paterns and variables - i.e. “underscore” - preview unnamed classes - preview scoped values - variables in dynamic scope (preview) structured concurrency - preview Other changes These are low-level changes, important for library creators (vector API, FFI, cryptography), or related to "code clean-up." They are probably less interesting for the typical programmer, although it's worth taking a look at the descriptions in JEPs to have a general idea of what they are about. generational ZGC API for vectors - 6th incubator API for securing symmetric keys Prepare To Disallow the Dynamic Loading of Agents Deprecate the Windows 32-bit x86 Port for Removal API to access FFI Piece by piece Sequenced collections We will have new interfaces which would be able to correctly model the encounter order. The API we have so far (let me say this: all Collection API) is a bit chaotic: taking first or last element from different collections has different API: ...

2023-07-28 · map[email: link: name:Kamila Chyla]

Java 21 - how to install early_access version

I want to try Java 21! Its easy! You can easily try out the new features in Java 21 that I wrote about in the previous post. You don’t need to install anything. Just follow these steps: Download and unzip the archive. Set the JAVA_HOME variable to point to it. Add the /bin subdirectory to your PATH variable. Let’s do it step by step Here’s how to do it in Ubuntu Linux: ...

2023-07-27 · map[email: link: name:Kamila Chyla]