Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Java, Spring Boot, Microservices interview prep
·
Module 4
Advanced Java: Concurrency & IO
1
Demystifying JMM & Thread Lifecycles
Explain the Java Memory Model (JMM) and the thread lifecycle.
2
Concurrency with Threads and Executors
Implement thread creation using Runnable, Callable, and ExecutorService, explaining the benefits of thread pools.
3
Concurrency Control: `synchronized` vs. `ReentrantLock`
Solve race conditions using the 'synchronized' keyword and ReentrantLock, and explain their differences.
4
Understanding Volatile Keyword for Memory Visibility
Solve memory visibility problems using the 'volatile' keyword.
5
Producer-Consumer with BlockingQueue
Implement the producer-consumer pattern using BlockingQueue.
6
Deadlock Causes and Prevention
Explain the causes of deadlock and demonstrate a prevention strategy like lock ordering.
7
Asynchronous Programming with CompletableFuture
Implement asynchronous, non-blocking operations using CompletableFuture.
8
Java Serialization: Interface & Keyword Explained
Explain the Java serialization mechanism, including the roles of the Serializable interface and the 'transient' keyword.
Previous module
Functional Java with Streams & Lambdas
Next module
Spring & Spring Boot Core