Java Course
Master Java 21, Spring Boot, JPA, JWT & senior interview prep.
Architecture
JVM Memory Model
How the JVM organizes memory across the heap, stack, metaspace and GC regions.
Enterprise learning path
Java Tutorial
- 1Java HomeNext up
java mastery course welcome fundamentals oop collections spring boot microservices interview preparation enterprise development
- 2Java Introduction
java introduction history james gosling jvm bytecode write once run anywhere oop platform independent enterprise android spring
- 3Java Architecture
java architecture jdk jre jvm bytecode javac write once run anywhere execution engine class loader platform independent
- 4JVM Deep Dive — Class Loader & Memory Areas
jvm deep dive class loader bootstrap platform application parent delegation heap stack method area outofmemoryerror stackoverflowerror
- 5Execution Engine Deep Dive
jvm execution engine interpreter jit compiler garbage collection gc jni native method libraries hotspot performance optimization
- 6Architecture Best Practices & Cheat Sheet
java architecture best practices common mistakes performance tips cheat sheet heap stack gc jit profiling outofmemoryerror stackoverflowerror
- 7Java Setup (JDK & IDE)
java setup jdk ide intellij idea java home path javac java version install lts java 21 first project
- 8Java Syntax
java syntax semicolon curly braces identifiers keywords comments naming conventions camelCase PascalCase main method case sensitive
- 9Variables & Data Types
java variables data types primitive int double boolean char long float byte short string var type inference widening conversion
- 10Operators
java operators arithmetic assignment relational logical ternary bitwise shift precedence increment decrement equals comparison
- 11Control Flow
java control flow if else switch for while do-while break continue return sequential decision looping branching nested
- 12If Statement
java if statement condition boolean expression nested if equals logical operators && short-circuit voting eligibility login ATM withdrawal
- 13If-Else-If Ladder
java if else if ladder multiple conditions grading tax slab discount order matters switch vs if else if nested enterprise
- 14Loops
java loops for while do-while for-each enhanced break continue nested infinite loop iteration array collection
- 15Arrays
java arrays fixed size zero-based indexing length multidimensional matrix ArrayIndexOutOfBoundsException for-each loop contiguous memory
- 16Strings
java strings immutable string pool constant pool equals StringBuilder StringBuffer concat substring split trim interview
- 17Methods
java methods parameters arguments return type void overloading pass by value recursion call stack static modular programming
- 18OOP Fundamentals
java oop object oriented programming class object constructor this keyword static instance heap stack garbage collection fields methods
- 19Encapsulation
java encapsulation private public protected getters setters data hiding javabeans immutable validation access modifiers spring hibernate
- 20Inheritance
java inheritance extends super override final class diamond problem single multilevel hierarchical IS-A composition method overriding
- 21Polymorphism
java polymorphism method overloading overriding dynamic method dispatch upcasting downcasting instanceof covariant return compile-time runtime
- 22Abstraction
java abstraction abstract class interface default method static functional interface dependency injection spring abstract vs interface
- 23Exception Handling
java exception handling try catch finally throw throws checked unchecked runtime exception try with resources custom exception
- 24Collections Framework
java collections framework JCF ArrayList HashMap HashSet List Set Map Queue generics Collections sort
- 25List Interface
java list interface ArrayList LinkedList Vector Stack ListIterator fail-fast ConcurrentModificationException Deque
- 26Set Interface
java set interface HashSet LinkedHashSet TreeSet hashCode equals red-black tree unique elements
- 27Map Interface
java map interface HashMap LinkedHashMap TreeMap Hashtable hashCode equals load factor rehashing ConcurrentHashMap
- 28Java I/O Streams
java IO input output streams InputStream OutputStream FileReader BufferedReader NIO channels buffers serialization
- 29Multithreading & Concurrency
java multithreading concurrency threads Runnable Callable synchronized volatile ReentrantLock ExecutorService CompletableFuture ConcurrentHashMap
- 30Java Enums
java enums enumeration EnumSet EnumMap valueOf ordinal switch type-safe constants OrderStatus
- 31Generics
java generics type safety wildcard extends super PECS type erasure bounded generic class method diamond operator
- 32Java Optional
java optional NullPointerException ofNullable orElse orElseThrow map flatMap filter Spring Boot repository
- 33Java Date & Time API
java time API LocalDate LocalDateTime Instant ZonedDateTime Period Duration DateTimeFormatter java.time
- 34Java Comparator & Comparable
java Comparator Comparable compareTo compare Collections.sort TimSort thenComparing reversed
- 35Java Records
java records immutable DTO compact constructor accessor methods POJO Spring Boot Java 16
- 36Java Sealed Classes
java sealed classes permits final non-sealed sealed interface pattern matching records Java 17
- 37Java Annotations
java annotations @Override @Deprecated @Target @Retention custom annotation Spring Hibernate JUnit metadata
- 38Reflection API
java reflection API Class.forName getDeclaredMethod invoke setAccessible annotations Spring Hibernate runtime inspection
- 39Java Serialization
java serialization deserialization Serializable serialVersionUID transient ObjectOutputStream ObjectInputStream
Advanced Java
- 40Memory Management (Heap, Stack, GC)
memory management (heap, stack, gc) you don't malloc in java — the jvm does it for you. but understanding where objects live
- 41Streams API
java streams API filter map flatMap collect reduce parallelStream lazy evaluation terminal intermediate operations
- 42Lambda Expressions & Functional Interfaces
java lambda expressions functional interface Predicate Function Consumer Supplier method reference effectively final
- 43Concurrency & Executors
concurrency & executors beyond raw threads, java provides a rich concurrency toolkit: executors, completablefuture, locks, concurrent collections and (java 21+) structured concurrency.
- 44Design Patterns
design patterns design patterns are recurring solutions to recurring problems — a vocabulary that lets senior engineers communicate. knowing them is interview
- 45Performance Optimization
performance optimization measure, don't guess. java performance work without a profiler is folklore. once you measure, the wins are usually in algorithms,
- 46Logging
logging logs are how a running java service tells you what it's doing. the de-facto stack is slf4j (the api) + logback
- 47Security Basics
security basics java security spans crypto, input validation, dependency hygiene and authentication. you don't need to be a cryptographer — you need
- 48Java Memory Model
java memory model (jmm) the java memory model defines how threads interact through memory — what guarantees exist for visibility, ordering and
- 49volatile Keyword
volatile keyword a volatile field guarantees that reads and writes go directly to main memory — every thread sees the latest value.
- 50Locks (ReentrantLock)
locks (reentrantlock) beyond synchronized, java provides explicit lock implementations — reentrantlock, readwritelock, stampedlock — with try-lock, timeouts, fairness and interruptibility.
- 51Atomic Variables
atomic variables the java.util.concurrent.atomic package provides lock-free, cas-based counters and references — atomicinteger, atomicreference, longadder. they're the right tool for high-contention counters
- 52Fork/Join Framework
fork/join framework the fork/join framework (java 7+) splits large tasks into smaller subtasks, executes them in parallel on a work-stealing pool, and
- 53Structured Concurrency
structured concurrency structured concurrency (java 21+, preview → final in 25) treats groups of related tasks as a single unit of work
Backend Development
- 54Spring Boot Basics
spring boot basics spring boot is the most popular framework for building java backends. it bundles spring + auto-configuration + an embedded
- 55REST APIs with Spring
rest apis with spring a rest api exposes resources over http using verbs (get, post, put, delete). spring's annotation model makes mapping
- 56CRUD Application
crud application almost every backend job interview asks you to build a crud app: create, read, update, delete. master the pattern with
- 57Microservices Architecture
microservices architecture microservices split a monolith into many small, independently-deployable services that talk over the network. done well it scales teams; done
- 58Database with JPA / Hibernate
database with jpa / hibernate jpa (java persistence api) is the spec; hibernate is the most-used implementation. together they map java objects
- 59Authentication with JWT
authentication with jwt a jwt (json web token) is a signed, base64-encoded json blob. it's the standard token format for stateless rest
- 60Deployment with Docker
deployment with docker docker packages your java app + jre into a single, reproducible image you can run on any host. it's
- 61Dependency Injection
dependency injection dependency injection (di) is the cornerstone of spring — objects receive their collaborators from the container instead of creating them.
- 62Spring Bean Lifecycle
spring bean lifecycle every spring bean goes through a well-defined lifecycle: instantiation → dependency injection → initialization → use → destruction. hooks
- 63Spring Security
spring security spring security is the de-facto auth framework for java backends. it provides filter chains for authentication, authorization, csrf protection, session
- 64Bean Validation
bean validation jakarta bean validation (@notnull, @size, @email) declaratively validates request dtos. spring boot auto-configures hibernate validator — just annotate your fields
- 65Global Exception Handling
global exception handling a @controlleradvice class centralises exception-to-http-response mapping across all controllers. no more try/catch in every endpoint — one place handles
- 66Transactions
transactions (@transactional) spring's @transactional wraps methods in a database transaction — commit on success, rollback on runtime exception. understanding propagation, isolation and
- 67Hibernate Internals
hibernate internals under spring data jpa lies hibernate — the orm that maps objects to sql. understanding the persistence context, lazy loading,
- 68Pagination
pagination returning 100,000 rows in one api call will crash your app and your database. spring data's pageable interface provides standard offset/limit
- 69JPA Specifications
jpa specifications jpa specifications (spring data jpa) let you build dynamic, type-safe queries programmatically — perfect for search endpoints with optional filters
- 70Redis Caching
redis caching redis is an in-memory data store used for caching, session storage, rate limiting and pub/sub. in spring boot, spring-boot-starter-data-redis +
- 71Kafka
apache kafka apache kafka is a distributed event streaming platform — the backbone of event-driven microservices. producers publish to topics; consumers in
- 72RabbitMQ
rabbitmq rabbitmq is a message broker implementing amqp — great for task queues, work distribution and reliable delivery with acknowledgements. simpler than
- 73OpenTelemetry
opentelemetry opentelemetry is the vendor-neutral standard for traces, metrics and logs. spring boot 3.x auto-instruments http, jdbc and kafka — export to
- 74Resilience4j
resilience4j resilience4j brings circuit breakers, retries, rate limiters and bulkheads to spring boot — preventing cascading failures when downstream services are slow
Testing
- 75JUnit 5
junit 5 junit 5 (jupiter) is the standard test framework for java. annotations like @test, @beforeeach, @parameterizedtest and @nested structure your test
- 76Mockito
mockito mockito creates test doubles — mocks that record interactions and stubs return values. combined with junit 5, it lets you unit-test
- 77MockMvc
mockmvc (web layer tests) mockmvc tests spring mvc controllers without starting a real http server. it dispatches requests through the full filter
- 78Testcontainers
testcontainers testcontainers spins up real docker containers (postgresql, redis, kafka) during tests — giving you integration tests against the same software you
- 79Integration Testing
integration testing integration tests verify that multiple layers work together — controller → service → repository → database. spring boot's test slices
- 80Test-Driven Development
test-driven development (tdd) tdd is red → green → refactor: write a failing test, write the minimum code to pass, then improve
Projects
- 81Calculator CLI
project: calculator cli build a command-line calculator that parses expressions like 2 + 3 * 4 and evaluates them. you'll practice parsing,
- 82ATM Simulator
project: atm simulator simulate an atm machine with account balance, deposit, withdraw, transfer and pin validation. practice oop (account, atm, transaction), concurrency
- 83Expense Tracker
project: expense tracker build an expense tracker with spring boot — rest api for adding expenses, categorising by tag, monthly summaries and
- 84Task Manager API
project: task manager api create a task manager backend — users, projects, tasks with status (todo/in_progress/done), due dates and assignees. a classic
- 85E-Commerce Backend
project: e-commerce backend build a full e-commerce backend — product catalog, shopping cart, checkout, order processing, inventory and jwt authentication. this is
- 86URL Shortener
project: url shortener build a url shortener like bit.ly — encode long urls to short codes, redirect on access, track click counts.
Interview Preparation
- 87Master Q&A Bank — 200+ Questions
java interview questions answers bank platform jvm jre jdk wrapper classes strings oop polymorphism inheritance interfaces abstract modifiers final static volatile exceptions
- 88Interview Q&A — 4 Years Experience
java interview — 4 years experience at the 4-year mark interviewers expect you to be solid on core java + collections +
- 89Interview Q&A — 10 Years Experience
java interview — 10 years experience at 10 years the bar shifts to concurrency, performance, debugging stories and system-design fundamentals. interviewers want
- 90Interview Q&A — 12+ Years Experience
java interview — 12+ years experience at 12+ years coding still matters but architecture, microservice trade-offs, scaling decisions and cost dominate. you're
- 91Interview Q&A — 15+ Years Experience
java interview — 15+ years experience at 15+ years you're interviewing for principal / staff+ / architect roles. the questions become open-ended:
Practice
- 92Java Practice Hub: Stream API Coding Questions
java practice hub: stream api coding questions welcome to the java code practice hub for stream api coding questions. this track contains
- 93Find Even Numbers
find even numbers practice a focused java stream api coding question: find even numbers. solve it first with a stream pipeline, then
- 94Find Odd Numbers
find odd numbers practice a focused java stream api coding question: find odd numbers. solve it first with a stream pipeline, then
- 95Square Each Number
square each number practice a focused java stream api coding question: square each number. solve it first with a stream pipeline, then
- 96Remove Duplicates
remove duplicates practice a focused java stream api coding question: remove duplicates. solve it first with a stream pipeline, then compare it
- 97Count Elements
count elements practice a focused java stream api coding question: count elements. solve it first with a stream pipeline, then compare it
- 98Find First Element
find first element practice a focused java stream api coding question: find first element. solve it first with a stream pipeline, then
- 99Find Last Element
find last element practice a focused java stream api coding question: find last element. solve it first with a stream pipeline, then
- 100Convert To Uppercase
convert to uppercase practice a focused java stream api coding question: convert to uppercase. solve it first with a stream pipeline, then
- 101Sort Ascending
sort ascending practice a focused java stream api coding question: sort ascending. solve it first with a stream pipeline, then compare it
- 102Sort Descending
sort descending practice a focused java stream api coding question: sort descending. solve it first with a stream pipeline, then compare it
- 103Find Max Salary Employee
find max salary employee practice a focused java stream api coding question: find max salary employee. solve it first with a stream
- 104Find Min Salary Employee
find min salary employee practice a focused java stream api coding question: find min salary employee. solve it first with a stream
- 105Group Employees By Department
group employees by department practice a focused java stream api coding question: group employees by department. solve it first with a stream
- 106Count Employees By Department
count employees by department practice a focused java stream api coding question: count employees by department. solve it first with a stream
- 107Find Duplicate Characters
find duplicate characters practice a focused java stream api coding question: find duplicate characters. solve it first with a stream pipeline, then
- 108Find Frequency Of Words
find frequency of words practice a focused java stream api coding question: find frequency of words. solve it first with a stream
- 109Second Highest Number
second highest number practice a focused java stream api coding question: second highest number. solve it first with a stream pipeline, then
- 110Second Lowest Number
second lowest number practice a focused java stream api coding question: second lowest number. solve it first with a stream pipeline, then
- 111Merge Two Lists
merge two lists practice a focused java stream api coding question: merge two lists. solve it first with a stream pipeline, then
- 112Partition Even And Odd Numbers
partition even and odd numbers practice a focused java stream api coding question: partition even and odd numbers. solve it first with
- 113Top 3 Highest Salaries
top 3 highest salaries practice a focused java stream api coding question: top 3 highest salaries. solve it first with a stream
- 114Most Frequent Element
most frequent element practice a focused java stream api coding question: most frequent element. solve it first with a stream pipeline, then
- 115Longest String
longest string practice a focused java stream api coding question: longest string. solve it first with a stream pipeline, then compare it
- 116First Non-Repeated Character
first non-repeated character practice a focused java stream api coding question: first non-repeated character. solve it first with a stream pipeline, then
- 117First Repeated Character
first repeated character practice a focused java stream api coding question: first repeated character. solve it first with a stream pipeline, then
- 118Flatten Nested Lists
flatten nested lists practice a focused java stream api coding question: flatten nested lists. solve it first with a stream pipeline, then
- 119Find Common Elements
find common elements practice a focused java stream api coding question: find common elements. solve it first with a stream pipeline, then
- 120Find Missing Numbers
find missing numbers practice a focused java stream api coding question: find missing numbers. solve it first with a stream pipeline, then
- 121Find Anagram Groups
find anagram groups practice a focused java stream api coding question: find anagram groups. solve it first with a stream pipeline, then
- 122Remove Null Values
remove null values practice a focused java stream api coding question: remove null values. solve it first with a stream pipeline, then
- 123Custom Collectors
custom collectors practice a focused java stream api coding question: custom collectors. solve it first with a stream pipeline, then compare it
- 124Group By Multiple Fields
group by multiple fields practice a focused java stream api coding question: group by multiple fields. solve it first with a stream
- 125Nested Grouping
nested grouping practice a focused java stream api coding question: nested grouping. solve it first with a stream pipeline, then compare it
- 126Concurrent Grouping
concurrent grouping practice a focused java stream api coding question: concurrent grouping. solve it first with a stream pipeline, then compare it
- 127Window-Like Operations
window-like operations practice a focused java stream api coding question: window-like operations. solve it first with a stream pipeline, then compare it
- 128Stream Performance Optimization
stream performance optimization practice a focused java stream api coding question: stream performance optimization. solve it first with a stream pipeline, then
- 129Lazy Evaluation Examples
lazy evaluation examples practice a focused java stream api coding question: lazy evaluation examples. solve it first with a stream pipeline, then
- 130Parallel Stream Examples
parallel stream examples practice a focused java stream api coding question: parallel stream examples. solve it first with a stream pipeline, then
- 131Reduce Examples
reduce examples practice a focused java stream api coding question: reduce examples. solve it first with a stream pipeline, then compare it
- 132Collector Composition
collector composition practice a focused java stream api coding question: collector composition. solve it first with a stream pipeline, then compare it
- 133Sales Analytics Dashboard
sales analytics dashboard practice a focused java stream api coding question: sales analytics dashboard. solve it first with a stream pipeline, then
- 134E-Commerce Order Analysis
e-commerce order analysis practice a focused java stream api coding question: e-commerce order analysis. solve it first with a stream pipeline, then
- 135Banking Transaction Summaries
banking transaction summaries practice a focused java stream api coding question: banking transaction summaries. solve it first with a stream pipeline, then
- 136Log Processing
log processing practice a focused java stream api coding question: log processing. solve it first with a stream pipeline, then compare it
- 137Student Result Analytics
student result analytics practice a focused java stream api coding question: student result analytics. solve it first with a stream pipeline, then
- 138Attendance Reporting
attendance reporting practice a focused java stream api coding question: attendance reporting. solve it first with a stream pipeline, then compare it
- 139Employee Reporting
employee reporting practice a focused java stream api coding question: employee reporting. solve it first with a stream pipeline, then compare it
- 140Product Inventory Reports
product inventory reports practice a focused java stream api coding question: product inventory reports. solve it first with a stream pipeline, then
- 141Social Media Trend Analysis
social media trend analysis practice a focused java stream api coding question: social media trend analysis. solve it first with a stream
- 142Fraud Detection Preprocessing
fraud detection preprocessing practice a focused java stream api coding question: fraud detection preprocessing. solve it first with a stream pipeline, then
Practice & Evaluation
- 143Java Exercises
java exercises reading code teaches you the syntax; writing code makes it stick. work through these exercises in the playground above each
- 144Try Yourself Java (Playground)
try yourself java (playground) use the in-browser playground below to experiment with java. pick a starter template (beginner → advanced) or write
- 145Java Quiz
Test your Java knowledge: 10 questions covering syntax, OOP, collections, concurrency, Spring & security with instant feedback.