LogoEngineering
Interview Kit
JavaScript
TypeScript
Go
Java
React
Node.js
NestJS
SQL
DSA
System Design
NeetCode 150
Fundamentals
  • Java Architecture & JVM
  • JDK vs JRE vs JVM
  • Java Compilation & Bytecode
  • Primitive vs Reference Types
  • Variables & Data Types
  • Type Casting
  • Operators
  • Control Flow
  • Arrays
  • Strings
  • String Pool
  • String vs StringBuilder vs StringBuffer
  • Wrapper Classes
  • Autoboxing & Unboxing
  • Pass by Value
  • == vs equals()
  • final Keyword
  • static Keyword
Object-Oriented Programming
  • Classes & Objects
  • Constructors
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction
  • Interfaces
  • Abstract Classes
  • Method Overloading
  • Method Overriding
  • Composition vs Inheritance
  • Association, Aggregation & Composition
  • Access Modifiers
  • this vs super
  • Immutable Classes
  • Object Class
  • toString()
  • equals() & hashCode()
  • Covariant Return Types
Collections
  • Collections Framework
  • Collection vs Collections
  • List vs Set vs Map
  • ArrayList
  • LinkedList
  • Vector
  • Stack
  • HashSet
  • LinkedHashSet
  • TreeSet
  • HashMap
  • LinkedHashMap
  • TreeMap
  • Hashtable
  • ConcurrentHashMap
  • Queue
  • Deque
  • PriorityQueue
  • Iterator
  • ListIterator
  • Comparable vs Comparator
  • HashMap Internals
  • HashSet Internals
  • Fail-Fast vs Fail-Safe Iterators
Generics
  • Generics
  • Generic Classes
  • Generic Methods
  • Bounded Type Parameters
  • Wildcards
  • ? extends vs ? super
  • Type Erasure
  • Generic Interfaces
  • PECS Principle
Exception Handling
  • Exceptions
  • Checked vs Unchecked Exceptions
  • Error vs Exception
  • try-catch
  • finally
  • throw vs throws
  • Custom Exceptions
  • Exception Propagation
  • Multi-catch
  • Try-with-resources
  • Suppressed Exceptions
Java 8+ Features
  • Lambda Expressions
  • Functional Interfaces
  • Predicate
  • Function
  • Consumer
  • Supplier
  • Method References
  • Stream API
  • Intermediate vs Terminal Operations
  • map vs flatMap
  • filter
  • reduce
  • collect
  • Optional
  • Default Methods
  • Static Interface Methods
  • Date & Time API
Stream API
  • Stream Creation
  • Stream Pipeline
  • Intermediate Operations
  • Terminal Operations
  • map
  • filter
  • flatMap
  • distinct
  • sorted
  • limit & skip
  • peek
  • reduce
  • collect
  • groupingBy
  • partitioningBy
  • Parallel Streams
  • Stream vs Collection
Multithreading & Concurrency
  • Threads
  • Process vs Thread
  • Thread Lifecycle
  • Creating Threads
  • Runnable vs Callable
  • Thread Scheduling
  • synchronized
  • Locks
  • ReentrantLock
  • ReadWriteLock
  • volatile
  • Atomic Variables
  • Race Conditions
  • Deadlocks
  • Starvation
  • Livelock
  • Thread Safety
  • Immutability & Thread Safety
  • ExecutorService
  • Thread Pools
  • Future
  • CompletableFuture
  • ForkJoinPool
  • CountDownLatch
  • CyclicBarrier
  • Semaphore
  • Phaser
  • Concurrent Collections
JVM & Memory
  • JVM Architecture
  • Class Loader
  • Bootstrap vs Platform vs Application ClassLoader
  • Runtime Data Areas
  • Heap vs Stack
  • Metaspace
  • Program Counter
  • Native Method Stack
  • Garbage Collection
  • GC Algorithms
  • Minor vs Major vs Full GC
  • Stop-the-World
  • Strong vs Weak vs Soft vs Phantom References
  • Memory Leaks
  • StackOverflowError vs OutOfMemoryError
  • JVM Tuning Basics
  • JIT Compiler
  • Escape Analysis
Garbage Collection
  • Garbage Collection Basics
  • Mark and Sweep
  • Mark and Compact
  • Generational GC
  • Young vs Old Generation
  • Minor GC
  • Major GC
  • Full GC
  • G1 Garbage Collector
  • ZGC
  • Shenandoah GC
  • GC Tuning
  • GC Logs
Interfaces & Advanced OOP
  • Interface Default Methods
  • Functional Interfaces
  • Sealed Classes
  • Records
  • Nested Classes
  • Inner Classes
  • Anonymous Classes
  • Enums
  • Enum Internals
  • Static Nested Classes
  • Reflection
  • Annotations
  • Custom Annotations
Java Memory Model
  • Java Memory Model
  • Happens-Before Relationship
  • Visibility
  • Atomicity
  • Ordering
  • volatile
  • synchronized
  • Memory Barriers
  • Safe Publication
  • Double-Checked Locking
I/O & Serialization
  • Java I/O
  • InputStream & OutputStream
  • Reader & Writer
  • Buffered Streams
  • NIO
  • Files & Paths
  • Channels & Buffers
  • Serialization
  • Deserialization
  • Serializable
  • serialVersionUID
  • Externalizable
  • Serialization Security
Reflection & Annotations
  • Reflection API
  • Class Object
  • Inspecting Fields & Methods
  • Dynamic Object Creation
  • Custom Annotations
  • Annotation Processing
  • Runtime vs Compile-time Annotations
  • Reflection Performance & Security
Modern Java
  • Records
  • Sealed Classes
  • Pattern Matching
  • Pattern Matching for instanceof
  • Switch Expressions
  • Text Blocks
  • Local Variable Type Inference (var)
  • Virtual Threads
  • Structured Concurrency
  • Pattern Matching for switch
Virtual Threads & Modern Concurrency
  • Virtual Threads
  • Platform Threads vs Virtual Threads
  • Virtual Thread Scheduling
  • Thread-per-request Model
  • Structured Concurrency
  • Scoped Values
  • When to Use Virtual Threads
  • Virtual Threads vs Reactive Programming
JDBC & Database
  • JDBC Architecture
  • JDBC Driver
  • Connection
  • Statement vs PreparedStatement
  • CallableStatement
  • ResultSet
  • Transactions
  • Commit & Rollback
  • Batch Processing
  • Connection Pooling
  • SQL Injection Prevention
Testing
  • JUnit
  • Unit Testing
  • Integration Testing
  • Mockito
  • Mock vs Spy
  • Test Doubles
  • Parameterized Tests
  • Assertions
  • Integration Testing with Spring Boot
Performance & Best Practices
  • Java Performance Optimization
  • String Concatenation
  • Collection Selection
  • Object Allocation
  • Memory Optimization
  • CPU Profiling
  • JVM Profiling
  • Database Connection Pooling
  • Thread Pool Sizing
  • Caching
  • Lazy Initialization
  • Premature Optimization
Interview Questions
  • == vs equals()
  • equals() & hashCode()
  • HashMap Internals
  • ArrayList vs LinkedList
  • HashMap vs ConcurrentHashMap
  • Comparable vs Comparator
  • String vs StringBuilder vs StringBuffer
  • Abstract Class vs Interface
  • Overloading vs Overriding
  • Composition vs Inheritance
  • Checked vs Unchecked Exceptions
  • final vs finally vs finalize
  • throw vs throws
  • Stack vs Heap
  • JVM vs JDK vs JRE
  • Garbage Collection
  • synchronized vs volatile
  • Runnable vs Callable
  • ExecutorService
  • CompletableFuture
  • Stream API
  • map vs flatMap
  • ? extends vs ? super
  • Immutable Objects
  • Java Memory Model
  • Deadlocks
  • Virtual Threads
  • Spring Dependency Injection
  • JPA Lazy vs Eager Loading
  • N+1 Query Problem
Back to Java topics

JVM Profiling

⭐ Interview Importance: MEDIUM
⏱️ Revision Time: 5 min

TL;DR

[Brief summary of the topic]

Concept

[Detailed explanation]

Examples

// Code examples here

Interview Questions

Q: What is JVM Profiling?
A: Answer…

Previous Topic← CPU Profiling
Next TopicDatabase Connection Pooling →

© 2026 Engineering Interview Kit · Prepare. Practice. Succeed.