• 20 January

    How to check if number is power of two

    In this tutorial, we will see how to check if number is power of two. There are many approaches to check if number is power of two or not. Approach 1: It is very easy and straight forward approach. Run a while loop which checks for condition if n is even number (n%2==0). If n is […]

  • Java ExecutorService example using Callable and Future
    09 January

    Java ExecutorService example using Callable and Future

    Callable interface represents a thread that can return a value. It is very much similar to Runnable interface except that it can return a value. Callable interface can be used to compute status or results that can be returned to invoking thread. For example: Let’s say you want to perform factorial and square of some […]

  • 06 January

    Object level locking vs Class level locking in java

    Synchronization is ability to restrict access to shared resource to only one thread. When two or more threads need access to shared resource, there has to be some mechanism such that shared resource will be used by only one thread. The process by which we can achieve it is called Synchronization. Why do you need […]

  • Java Exchanger example
    06 January

    Java Exchanger example

    Exchanger class is introduced with java 1.5 with other classes such ConcurrentHashMap, CountDownLatch, Semaphores. Exchanger class is used to exchange object between two threads. Exchanger simply waits until two separate threads calls exchange method, when it happens, it exchanges data supplied by threads.Two threads can pair and swap objects between them. Exchanger class may be useful […]

  • 05 January

    Java newCachedThreadPool Example

    1. Introduction Java’s Executors.newCachedThreadPool() factory method provides a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available. Our goal is to understand how to use this thread pool to execute asynchronous tasks efficiently. 2. What is newCachedThreadPool? The newCachedThreadPool method from the java.util.concurrent.Executors class is a […]

  • 27 December

    Java ThreadPoolExecutor

    Java 5 has introduced new concurrent API called Executor frameworks to make programmer life easy. It simplifies design and development of multi-thread applications. It consists of mainly Executor, ExecutorService interface and ThreadPoolExecutor class which implements both interfaces i.e. Executor and ExecutorService. ThreadPoolExecutor class provide the implementation of thread pool. We will understand more about it […]

  • Java Semaphore example
    23 December

    Java Semaphore example

    In this tutorial, we are going to see about Semaphore in java. Semaphore is a class in java.util.concurrent package introduced in JDK 5. Semaphore basically maintains a set of permits, so there are two methods which are mainly used for semaphore. acquire release acquire() method is used to get a permit and if no. of […]

  • Immutable class interview questions
    22 December

    Immutable class interview questions

    In this post, I am going to share java interview questions which are generally asked on immutable class. Immutable class is important topic as it deals with creation of thread safe class. Here I am providing some important immutable class interview questions with answers. 1. What is immutable class? Answer : Immutable objects are those […]

  • 21 December

    How to create immutable class in java

    In this tutorial, we are going to see how to create immutable class in java. Immutable class is class whose state can not be changed once created. Example: String is best example for immutable class. Once you create a String, you can not change it. Immutable class is very simple to understand, it has only […]