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.
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):
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 explored sealed classes and interfaces, a preview feature in Java SE 15.
Learn about how we can search for free ports for Java servers.