2024  11

October  2

Day 85: Building a Secure Java Sandbox with Custom Class Loaders and Security Policies – Executing JAR and .java Files Safely

October 5, 2024 · 5 min

Day 84: Hot Class Reload in Java – A Webpack HMR-like Experience for Java Developers

October 4, 2024 · 13 min

September  1

Day 83: Java Object Cloning: Exploring Shallow and Deep Copy Techniques

September 14, 2024 · 13 min

August  1

Day 82: Reflection in Java: Building a Simple DI Container in 100 Lines of Code

August 17, 2024 · 16 min

July  1

Day 81: Creating custom stream operations ex: Slide, Shift, Zip and Fold using Spliterator

July 4, 2024 · 6 min

May  2

Day 80: From Concept to Code: Implementing a Dummy Consistent Hashing in Java using TreeMap

May 23, 2024 · 12 min

Day 79: Did you know that too much print statement can cost you money

May 3, 2024 · 6 min

April  1

Day 78: Java 22 - Embracing Safe Memory Allocation Using FFM API - An alternative to Unsafe API

April 18, 2024 · 4 min

March  1

Day 77: Explore Something Unsafe : Crafting a Memory allocator using Java Unsafe API

March 14, 2024 · 5 min

January  2

Day 76: Implementing a dummy Service Oriented Architecture (SOA) service to Understand Java Service Provider Interface (SPI)

January 26, 2024 · 6 min

Day 75: Java BufferedReader: Do We Know Why We Need To Close It?

January 2, 2024 · 9 min

2023  10

December  1

Day 74: Java Security: Crafting a toy TLS Server with Java Security API

December 12, 2023 · 8 min

September  1

Day 73: Java Security: Safeguarding Data with Encryption and Keys

September 11, 2023 · 6 min

July  1

Day 72: Can a HashMap Take Null or Empty String as a Key in Java?

July 26, 2023 · 4 min

June  1

Day 71: Understanding Heap poullion in java and its causes and how to prevent it

June 9, 2023 · 5 min

April  2

Day 70:Diving deep into Array copy- Measuring Array Copy Performance in Java with JMH: A Comparative Analysis of Methods

April 15, 2023 · 3 min

Day 69 : Unlocking Java Performance Secrets: Harnessing the Power of JMH Microbenchmarking

April 5, 2023 · 5 min

March  1

Day 68 : Becoming a memory plumber; A tale of Memory Leak and how to find them ( part 3)

March 30, 2023 · 5 min

January  3

Day 67: Becoming a memory plumber; A tale of Memory Leak and how to find them ( part 2)

January 21, 2023 · 9 min

Day 66: Becoming a memory plumber; A tale of Memory Leak and how to find them ( part 1)

January 20, 2023 · 6 min

Day 65: A tale of RMI (Remote Method Invocation) in java

January 12, 2023 · 9 min

2022  30

December  2

Day 64: Implementing a basic Bloom Filter Using Java BitSet api

December 28, 2022 · 8 min

Day 63: Alert system for Java OutOfMemory Error

December 14, 2022 · 6 min

November  4

Day 62: Understanding JMX and its architecture ( Agent Level )

November 29, 2022 · 9 min

Day 61: Understanding JMX and its architecture (Management Level)

November 15, 2022 · 5 min

Day 60: Generating JVM heap dump programmatically

November 11, 2022 · 4 min

Day 59: Understanding Proxy and Dynamic Proxy in Java

November 4, 2022 · 7 min

October  4

Day 58: Mocking void methods using ArgumentCapture and Answering

October 23, 2022 · 4 min

Day 57: All about Random in Java ( Random, SecureRandom,ThreadLocalRandom and SplittableRandom)

October 13, 2022 · 9 min

Day 56: Zero length Array and Its use

October 6, 2022 · 3 min

Blue-Green Deployment using DNS

October 3, 2022 · 8 min

September  3

Day 55: Understanding static and instance initializer in java classes and

September 26, 2022 · 3 min

Git troubleshooting : 6 helpful command with explanations

September 15, 2022 · 2 min

Day 54: Understanding volatile keyword’s use for Multi Threaded program

September 1, 2022 · 4 min

August  1

Day 53: Processing Http Request Asynchronously using CompletableFutures

August 17, 2022 · 3 min

July  1

Day 52: Async Processing HttpRequest’s using ExecutorCompletionService

July 26, 2022 · 4 min

May  3

Day 51: Creating Stream (using StreamSupport API) from Spliterator by converting Iterator to Spliterator

May 28, 2022 · 3 min

Day 50: Marker interface and it’s uses

May 21, 2022 · 4 min

Day 49: A utility class for Zip and Unzip files using java FileSystem api (Part 2)

May 6, 2022 · 4 min

April  1

Day 48: A utility class for Zip and Unzip files using java Zip api (Part 1)

April 11, 2022 · 7 min

March  3

Day 47: ThreadMXBean to get information about thread’s status, deadlock monitoring and cpu time that the thread got etc.

March 28, 2022 · 2 min

Day 46: Writing a generic and thread safe ObjectPool to enable pooling for any type of class

March 16, 2022 · 3 min

Day 45: learning about the internals of JVM and JRE (part 3)

March 1, 2022 · 6 min

February  4

Day 44: learning about the internals of JRE and JVM (Part 2)

February 24, 2022 · 8 min

Day 43: learning about the internals of jre, jvm (Part 1)

February 14, 2022 · 4 min

Day 42: using custom annotations and check if its a class level or field level annotation

February 11, 2022 · 2 min

Day 41: Generating unique id’s based on device MAC address and epoch time

February 3, 2022 · 4 min

January  4

Day 40: Generator implementation using custom Iterator and Threads.

January 27, 2022 · 1 min

Day 39: Local date time to UTC date time and vice versa with respect to timezone and Day light saving

January 21, 2022 · 3 min

Day 37: Feature toggle to enable disable features for paid and unpaid user

January 5, 2022 · 1 min

Day 38: One of the cases to use check and unchecked exceptions

January 5, 2022 · 2 min

2021  5

December  4

Day 36: Learned about banned dependencies and how to ban transitive dependency in a maven or gradle project

December 14, 2021 · 2 min

Day 35: Emulating Pair in java using AbstractMap.SimpleEntry<>() and new Object() {} implementation

December 6, 2021 · 1 min

Advent of Code Day 02

December 2, 2021 · 1 min

Advent of Code Day 01

December 1, 2021 · 1 min

September  1

Day 26: Writing a method to retry another method execution

September 30, 2021 · 2 min