Explore
Performance Best Practices Using Java and AWS Lambda: Initial Application
A common use case for AWS Lambda is to integrate with DynamoDB, allowing functions to perform...
Performance Best Practices Using Java and AWS Lambda: Abstract and Introduction
The most extensively used FaaS service is AWS Lambda, provided by Amazon Web Services. Java is...
Software Thrives Unless You Kill it First: Premature Optimization and a Tale of Java GC
Don't go over the board with optimizations, let the language work for you. Story tell. Java...
Debugging Java Streams With The Peek Method
Learn how to debug Java streams effectively using the peek() method with practical examples and tips...
Leveraging JMX for Efficient Debugging, Revisited
Learn how to leverage JMX and Spring Boot for advanced debugging and management, enabling efficient monitoring...
Safeguarding Concurrent Programs in Java: Thread Safety from an Object Oriented Perspective
Fundamentally, thread-safety revolves around proper management of the shared state. In absence of such proper management,...
Hibernate 5 and Entities Duplication: Let’s Dive Under the Hood
Entity duplication occurs when tables are joined and multiple rows are matched. There are several methods...
Composite Keys: A Guide on How to Handle Them
Most of the time, just keep it simple. Combine your composite keys into a string key...
How to Use Resilience4j for Ratelimiters
Resilience4j is a lightweight library for building fault-tolerant Java applications. It offers several modules for addressing...
Java Testing Frameworks: Choosing the Right Tool for the Job - JUnit, AssertJ and Hamcrest
Checkout my article on JUnit 5 to write better unit tests and improve your code quality.
Custom Annotation-Based Authorization and Headers Propagation in Spring Boot microservices
AspectJ custom annotation-based authorization and headers propagation using request scoped bean in Spring Boot microservices