-
Spring Aspect Oriented Programming
Aspecting in Spring refers to re-usable blocks of code that are injected into the application at runtime and can be a powerful tool for modularizing and adding behaviour to solve cross-cutting concerns such…
-
Understanding Project Loom’s Virtual Threads
Project Loom is an ongoing effort by the OpenJDK community to introduce lightweight, efficient, and scalable concurrency constructs into the Java platform. It primarily focuses on virtual threads, structured concurrency, and other improvements…
-
SOLID Principles
The SOLID principles are five design principles that help developers write maintainable, scalable, and testable object-oriented code. 1. Single Responsibility Principle (SRP) A class should have only one reason to change. Example (Violating…
-
Java Object Lifecycle
Creation: Reassigning References: Garbage Collection: 3. Lifecycle Explanation Key points to remember:
-
Java Certification Guide
This series will provide for mastering Java concepts for the Oracle Certified Professional (Java 21) exam.
-
Declaring and Instantiating Java Objects
In Java, an object is an instance of a class. To create an object, you need to: Nested Classes Java allows you to define classes within other classes. These are called nested classes.…
-
Introduction to Micronaut: A modern framework for JVM applications
In the ever-evolving landscape of Java frameworks, developers continually seek tools that combine performance, simplicity, and scalability. Micronaut, introduced in 2018 by the creators of the Grails framework, has quickly gained traction as…
-
The Builder Pattern
The Builder pattern is a creational design pattern used in object-oriented programming, particularly in Java, to simplify the construction of complex objects. It is especially useful when an object requires a lot of…
-
Mutual TLS (mTLS) between microservices
The role of identity in digital security is crucial, and this extends to microservices. Some security patterns in microservice architecture overly trust the network once a request has passed a certain point, allowing…
-
Serializing/Deserializing OffsetDateTime with Jackson
Serialization and deserialization of `OffsetDateTime` types in Java with Jackson involves converting an `OffsetDateTime` object to a JSON string and vice versa. Jackson provides built-in support for Java 8 date and time API,…
-
Java memory management
The most common memory in a computer is the RAM (Random Access Memory) which stores and accesses data while applications are running. The way in which computer memory works is very similar to…