I write ✍ about product web development, distributed systems, HLD, LLD and software engineering best practices. Discover whatever you are interested in!

All Posts (14)

Java Multithreading | Part 6
Java

Java Multithreading | Part 6

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading | Part 5
Java

Java Multithreading | Part 5

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading | Part 4
Java

Java Multithreading | Part 4

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading | Part 3
Java

Java Multithreading | Part 3

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading | Part 2
Java

Java Multithreading | Part 2

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading | Part 1
Java

Java Multithreading | Part 1

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
Java Multithreading Fundamentals | Part 0
Java

Java Multithreading Fundamentals | Part 0

Java multithreading allows concurrent execution of two or more threads, enabling efficient use of CPU resources. It supports parallelism and improves performance for tasks like web servers and GUIs, using constructs like `Thread`, `Runnable`, and high-level concurrency APIs.

Read More
All about Functional Programming in Java
Java

All about Functional Programming in Java

Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. In functional programming, functions are first-class citizens, meaning they can be treated like any other data type. This allows functions to be passed as arguments to other functions, returned as values from other functions, and assigned to variables.

Read More
Nested Classes in Java
Java

Nested Classes in Java

Nested classes are useful when your classes are tightly coupled, meaning their functionality is interwoven. They can help encapsulate related functionality and improve code organization.

Read More
The Critical-Section Problem
Software Engineering

The Critical-Section Problem

The Critical-Section Problem is a classic problem in computer science and operating system design. It arises in multi-process or multi-threaded environments where multiple processes or threads need to access shared resources (like variables, files, or data structures) in a mutually exclusive manner to avoid conflicts and ensure data consistency.

Read More