Scoped values is a new API in Java 20 that enables developers to store and share immutable data within and across threads. We look at how to use it and how it works.
Daniel Strmečki is a Java and AEM Solution Architect with a strong focus on quality, modularity, and reusability. Throughout his career, he gained experience in software development, solution design, project, and people management. Daniel has an open, ambitious, stubborn, and perfectionist personality. He likes sports, modern technology, technical challenges, motivated colleagues, and well-defined processes.
Here's what I've written (so far):
Baeldung on Java
- Java (12)
- Web Services (2)
- NoSQL (2)
- Java Collections (2)
- Testing (1)
- Spring Web (1)
- Spring Persistence (1)
- Spring Data (1)
- Spring Boot (1)
- REST (1)
- Persistence (1)
- Networking (1)
- Maven (1)
- Logging (1)
- Java Streams (1)
- Java Concurrency (1)
- JVM (1)
- HTTP Client-Side (1)
Compare singleton beans with objects created using the singleton design pattern.
Spring has a new web client builder that’s similar to OpenFeign, but is native to Spring. We look at how to build API clients with itm .
REST, GraphQL, and gRPC are solutions to different problems when calling webservices. We look at how they differ and can be combined in our architecture.
MicroStream is an alternative to a database engine. It allows for direct storage of Java objects with queries performed using stream-like APIs. We look at how this new technology can be used.
Java allows us to declare functions as static. We look at what this means, how static functions differ from others, and some common use cases for preferring static functions.
From Java 9 onwards, the new HttpClient API provides both a synchronous and asynchronous modern web client. We look at how it can be used to make requests.
Look at the difference between Apache HttpClient API’s HttpClient and CloseableHttpClient
GraphQL is a standard for communicating with web services. We look at a few ways to access GraphQL endpoints from a Java application.
Java 17 provides a large number of improvements to the generation of random numbers. We explore the new API and compare it with the original random number generators.
We may produce utility classes with static methods in Java and then receive a warning from Sonar about the implicit public constructor. We look at how to handle this error and some alternative implementations for static modules.
Explore the logging of queries and statements when using Apache Cassandra with Spring Boot.
We can test our Spring Data integration with Cassandra by using Testcontainers. This starts a temporary instance of Cassandra to use during our tests. We investigate how to do this and configure spring during the test.
Learn how to use Spring Data Cassandra to save date values and map them to Cassandra data types.
This article is a deep dive into pattern matching for switch statements, a preview feature in Java 17.
The JVM’s just in time compiler employs multiple techniques to optimize our software as it runs. We explore the various tiers and how they affect startup performance and continued optimization.
We can configure maven via the settings.xml file. We look at some common use cases and configuration options.
In this tutorial, we’ll explore the differences between sequential and parallel streams using Stream Api.
The Java compiler is able to pre-calculate certain values for us at compile time. This allows us to use some variables with expressions that must be constant, and leads to some runtime efficiencies.
Explore if there are any performance benefits from using the final keyword on a variable, method, and class
Learn about how to implement the compareTo method using core Java.
Java provides the speed of a compiled language with the portability of an interpreted language. We investigate how the JVM and JIT compiler work, and how to classify Java as a language.
Java 11 brings new features, including convenience methods in the standard libraries and the integration of the new HTTP Client. We review these and other improvements.
Learn about the differences between three of the most common Java Collections: ArrayList, LinkedList, and HashMap
Explore sealed classes and interfaces, a preview feature in Java SE 15, delivered in Java 17.
Learn about how we can search for free ports for Java servers.
We investigate how to finding elements present in one list, but not in another, including lists with multiple copies of the same element.