java

    Java Course

    Master Java 21, Spring Boot, JPA, JWT & senior interview prep.

    145
    Lessons
    8
    Modules
    0/145
    Completed

    Architecture

    JVM Memory Model

    How the JVM organizes memory across the heap, stack, metaspace and GC regions.

    HEAP
    Young Gen — Eden + S0/S1
    Old Gen — long-lived objects
    G1 / ZGC collects here
    STACK (per thread)
    Frame: main()
    Frame: service()
    Frame: query()
    Local vars + return addr
    METASPACE
    Class metadata
    Method bytecode
    Constant pool
    Native memory (off-heap)
    .java
    source
    javac
    compile
    .class
    bytecode
    JVM
    JIT → native
    Curriculum

    Enterprise learning path

    8 modules · 145 lessons

    Java Tutorial

    0/39 complete
    1. 1
      Java Home
      Next up

      java mastery course welcome fundamentals oop collections spring boot microservices interview preparation enterprise development

    2. 2
      Java Introduction

      java introduction history james gosling jvm bytecode write once run anywhere oop platform independent enterprise android spring

    3. 3
      Java Architecture

      java architecture jdk jre jvm bytecode javac write once run anywhere execution engine class loader platform independent

    4. 4
      JVM Deep Dive — Class Loader & Memory Areas

      jvm deep dive class loader bootstrap platform application parent delegation heap stack method area outofmemoryerror stackoverflowerror

    5. 5
      Execution Engine Deep Dive

      jvm execution engine interpreter jit compiler garbage collection gc jni native method libraries hotspot performance optimization

    6. 6
      Architecture Best Practices & Cheat Sheet

      java architecture best practices common mistakes performance tips cheat sheet heap stack gc jit profiling outofmemoryerror stackoverflowerror

    7. 7
      Java Setup (JDK & IDE)

      java setup jdk ide intellij idea java home path javac java version install lts java 21 first project

    8. 8
      Java Syntax

      java syntax semicolon curly braces identifiers keywords comments naming conventions camelCase PascalCase main method case sensitive

    9. 9
      Variables & Data Types

      java variables data types primitive int double boolean char long float byte short string var type inference widening conversion

    10. 10
      Operators

      java operators arithmetic assignment relational logical ternary bitwise shift precedence increment decrement equals comparison

    11. 11
      Control Flow

      java control flow if else switch for while do-while break continue return sequential decision looping branching nested

    12. 12
      If Statement

      java if statement condition boolean expression nested if equals logical operators && short-circuit voting eligibility login ATM withdrawal

    13. 13
      If-Else-If Ladder

      java if else if ladder multiple conditions grading tax slab discount order matters switch vs if else if nested enterprise

    14. 14
      Loops

      java loops for while do-while for-each enhanced break continue nested infinite loop iteration array collection

    15. 15
      Arrays

      java arrays fixed size zero-based indexing length multidimensional matrix ArrayIndexOutOfBoundsException for-each loop contiguous memory

    16. 16
      Strings

      java strings immutable string pool constant pool equals StringBuilder StringBuffer concat substring split trim interview

    17. 17
      Methods

      java methods parameters arguments return type void overloading pass by value recursion call stack static modular programming

    18. 18
      OOP Fundamentals

      java oop object oriented programming class object constructor this keyword static instance heap stack garbage collection fields methods

    19. 19
      Encapsulation

      java encapsulation private public protected getters setters data hiding javabeans immutable validation access modifiers spring hibernate

    20. 20
      Inheritance

      java inheritance extends super override final class diamond problem single multilevel hierarchical IS-A composition method overriding

    21. 21
      Polymorphism

      java polymorphism method overloading overriding dynamic method dispatch upcasting downcasting instanceof covariant return compile-time runtime

    22. 22
      Abstraction

      java abstraction abstract class interface default method static functional interface dependency injection spring abstract vs interface

    23. 23
      Exception Handling

      java exception handling try catch finally throw throws checked unchecked runtime exception try with resources custom exception

    24. 24
      Collections Framework

      java collections framework JCF ArrayList HashMap HashSet List Set Map Queue generics Collections sort

    25. 25
      List Interface

      java list interface ArrayList LinkedList Vector Stack ListIterator fail-fast ConcurrentModificationException Deque

    26. 26
      Set Interface

      java set interface HashSet LinkedHashSet TreeSet hashCode equals red-black tree unique elements

    27. 27
      Map Interface

      java map interface HashMap LinkedHashMap TreeMap Hashtable hashCode equals load factor rehashing ConcurrentHashMap

    28. 28
      Java I/O Streams

      java IO input output streams InputStream OutputStream FileReader BufferedReader NIO channels buffers serialization

    29. 29
      Multithreading & Concurrency

      java multithreading concurrency threads Runnable Callable synchronized volatile ReentrantLock ExecutorService CompletableFuture ConcurrentHashMap

    30. 30
      Java Enums

      java enums enumeration EnumSet EnumMap valueOf ordinal switch type-safe constants OrderStatus

    31. 31
      Generics

      java generics type safety wildcard extends super PECS type erasure bounded generic class method diamond operator

    32. 32
      Java Optional

      java optional NullPointerException ofNullable orElse orElseThrow map flatMap filter Spring Boot repository

    33. 33
      Java Date & Time API

      java time API LocalDate LocalDateTime Instant ZonedDateTime Period Duration DateTimeFormatter java.time

    34. 34
      Java Comparator & Comparable

      java Comparator Comparable compareTo compare Collections.sort TimSort thenComparing reversed

    35. 35
      Java Records

      java records immutable DTO compact constructor accessor methods POJO Spring Boot Java 16

    36. 36
      Java Sealed Classes

      java sealed classes permits final non-sealed sealed interface pattern matching records Java 17

    37. 37
      Java Annotations

      java annotations @Override @Deprecated @Target @Retention custom annotation Spring Hibernate JUnit metadata

    38. 38
      Reflection API

      java reflection API Class.forName getDeclaredMethod invoke setAccessible annotations Spring Hibernate runtime inspection

    39. 39
      Java Serialization

      java serialization deserialization Serializable serialVersionUID transient ObjectOutputStream ObjectInputStream

    Advanced Java

    0/14 complete
    1. 40
      Memory 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

    2. 41
      Streams API

      java streams API filter map flatMap collect reduce parallelStream lazy evaluation terminal intermediate operations

    3. 42
      Lambda Expressions & Functional Interfaces

      java lambda expressions functional interface Predicate Function Consumer Supplier method reference effectively final

    4. 43
      Concurrency & Executors

      concurrency & executors beyond raw threads, java provides a rich concurrency toolkit: executors, completablefuture, locks, concurrent collections and (java 21+) structured concurrency.

    5. 44
      Design Patterns

      design patterns design patterns are recurring solutions to recurring problems — a vocabulary that lets senior engineers communicate. knowing them is interview

    6. 45
      Performance Optimization

      performance optimization measure, don't guess. java performance work without a profiler is folklore. once you measure, the wins are usually in algorithms,

    7. 46
      Logging

      logging logs are how a running java service tells you what it's doing. the de-facto stack is slf4j (the api) + logback

    8. 47
      Security Basics

      security basics java security spans crypto, input validation, dependency hygiene and authentication. you don't need to be a cryptographer — you need

    9. 48
      Java Memory Model

      java memory model (jmm) the java memory model defines how threads interact through memory — what guarantees exist for visibility, ordering and

    10. 49
      volatile Keyword

      volatile keyword a volatile field guarantees that reads and writes go directly to main memory — every thread sees the latest value.

    11. 50
      Locks (ReentrantLock)

      locks (reentrantlock) beyond synchronized, java provides explicit lock implementations — reentrantlock, readwritelock, stampedlock — with try-lock, timeouts, fairness and interruptibility.

    12. 51
      Atomic 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

    13. 52
      Fork/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

    14. 53
      Structured Concurrency

      structured concurrency structured concurrency (java 21+, preview → final in 25) treats groups of related tasks as a single unit of work

    Backend Development

    0/21 complete
    1. 54
      Spring Boot Basics

      spring boot basics spring boot is the most popular framework for building java backends. it bundles spring + auto-configuration + an embedded

    2. 55
      REST 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

    3. 56
      CRUD Application

      crud application almost every backend job interview asks you to build a crud app: create, read, update, delete. master the pattern with

    4. 57
      Microservices Architecture

      microservices architecture microservices split a monolith into many small, independently-deployable services that talk over the network. done well it scales teams; done

    5. 58
      Database 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

    6. 59
      Authentication 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

    7. 60
      Deployment with Docker

      deployment with docker docker packages your java app + jre into a single, reproducible image you can run on any host. it's

    8. 61
      Dependency Injection

      dependency injection dependency injection (di) is the cornerstone of spring — objects receive their collaborators from the container instead of creating them.

    9. 62
      Spring Bean Lifecycle

      spring bean lifecycle every spring bean goes through a well-defined lifecycle: instantiation → dependency injection → initialization → use → destruction. hooks

    10. 63
      Spring Security

      spring security spring security is the de-facto auth framework for java backends. it provides filter chains for authentication, authorization, csrf protection, session

    11. 64
      Bean Validation

      bean validation jakarta bean validation (@notnull, @size, @email) declaratively validates request dtos. spring boot auto-configures hibernate validator — just annotate your fields

    12. 65
      Global 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

    13. 66
      Transactions

      transactions (@transactional) spring's @transactional wraps methods in a database transaction — commit on success, rollback on runtime exception. understanding propagation, isolation and

    14. 67
      Hibernate Internals

      hibernate internals under spring data jpa lies hibernate — the orm that maps objects to sql. understanding the persistence context, lazy loading,

    15. 68
      Pagination

      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

    16. 69
      JPA Specifications

      jpa specifications jpa specifications (spring data jpa) let you build dynamic, type-safe queries programmatically — perfect for search endpoints with optional filters

    17. 70
      Redis 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 +

    18. 71
      Kafka

      apache kafka apache kafka is a distributed event streaming platform — the backbone of event-driven microservices. producers publish to topics; consumers in

    19. 72
      RabbitMQ

      rabbitmq rabbitmq is a message broker implementing amqp — great for task queues, work distribution and reliable delivery with acknowledgements. simpler than

    20. 73
      OpenTelemetry

      opentelemetry opentelemetry is the vendor-neutral standard for traces, metrics and logs. spring boot 3.x auto-instruments http, jdbc and kafka — export to

    21. 74
      Resilience4j

      resilience4j resilience4j brings circuit breakers, retries, rate limiters and bulkheads to spring boot — preventing cascading failures when downstream services are slow

    Testing

    0/6 complete
    1. 75
      JUnit 5

      junit 5 junit 5 (jupiter) is the standard test framework for java. annotations like @test, @beforeeach, @parameterizedtest and @nested structure your test

    2. 76
      Mockito

      mockito mockito creates test doubles — mocks that record interactions and stubs return values. combined with junit 5, it lets you unit-test

    3. 77
      MockMvc

      mockmvc (web layer tests) mockmvc tests spring mvc controllers without starting a real http server. it dispatches requests through the full filter

    4. 78
      Testcontainers

      testcontainers testcontainers spins up real docker containers (postgresql, redis, kafka) during tests — giving you integration tests against the same software you

    5. 79
      Integration Testing

      integration testing integration tests verify that multiple layers work together — controller → service → repository → database. spring boot's test slices

    6. 80
      Test-Driven Development

      test-driven development (tdd) tdd is red → green → refactor: write a failing test, write the minimum code to pass, then improve

    Projects

    0/6 complete
    1. 81
      Calculator CLI

      project: calculator cli build a command-line calculator that parses expressions like 2 + 3 * 4 and evaluates them. you'll practice parsing,

    2. 82
      ATM Simulator

      project: atm simulator simulate an atm machine with account balance, deposit, withdraw, transfer and pin validation. practice oop (account, atm, transaction), concurrency

    3. 83
      Expense Tracker

      project: expense tracker build an expense tracker with spring boot — rest api for adding expenses, categorising by tag, monthly summaries and

    4. 84
      Task 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

    5. 85
      E-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

    6. 86
      URL 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

    0/5 complete
    1. 87
      Master 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

    2. 88
      Interview 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 +

    3. 89
      Interview 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

    4. 90
      Interview 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

    5. 91
      Interview 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

    0/51 complete
    1. 92
      Java 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

    2. 93
      Find Even Numbers

      find even numbers practice a focused java stream api coding question: find even numbers. solve it first with a stream pipeline, then

    3. 94
      Find Odd Numbers

      find odd numbers practice a focused java stream api coding question: find odd numbers. solve it first with a stream pipeline, then

    4. 95
      Square Each Number

      square each number practice a focused java stream api coding question: square each number. solve it first with a stream pipeline, then

    5. 96
      Remove Duplicates

      remove duplicates practice a focused java stream api coding question: remove duplicates. solve it first with a stream pipeline, then compare it

    6. 97
      Count Elements

      count elements practice a focused java stream api coding question: count elements. solve it first with a stream pipeline, then compare it

    7. 98
      Find First Element

      find first element practice a focused java stream api coding question: find first element. solve it first with a stream pipeline, then

    8. 99
      Find Last Element

      find last element practice a focused java stream api coding question: find last element. solve it first with a stream pipeline, then

    9. 100
      Convert To Uppercase

      convert to uppercase practice a focused java stream api coding question: convert to uppercase. solve it first with a stream pipeline, then

    10. 101
      Sort Ascending

      sort ascending practice a focused java stream api coding question: sort ascending. solve it first with a stream pipeline, then compare it

    11. 102
      Sort Descending

      sort descending practice a focused java stream api coding question: sort descending. solve it first with a stream pipeline, then compare it

    12. 103
      Find 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

    13. 104
      Find 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

    14. 105
      Group 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

    15. 106
      Count 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

    16. 107
      Find Duplicate Characters

      find duplicate characters practice a focused java stream api coding question: find duplicate characters. solve it first with a stream pipeline, then

    17. 108
      Find 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

    18. 109
      Second Highest Number

      second highest number practice a focused java stream api coding question: second highest number. solve it first with a stream pipeline, then

    19. 110
      Second Lowest Number

      second lowest number practice a focused java stream api coding question: second lowest number. solve it first with a stream pipeline, then

    20. 111
      Merge Two Lists

      merge two lists practice a focused java stream api coding question: merge two lists. solve it first with a stream pipeline, then

    21. 112
      Partition 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

    22. 113
      Top 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

    23. 114
      Most Frequent Element

      most frequent element practice a focused java stream api coding question: most frequent element. solve it first with a stream pipeline, then

    24. 115
      Longest String

      longest string practice a focused java stream api coding question: longest string. solve it first with a stream pipeline, then compare it

    25. 116
      First 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

    26. 117
      First Repeated Character

      first repeated character practice a focused java stream api coding question: first repeated character. solve it first with a stream pipeline, then

    27. 118
      Flatten Nested Lists

      flatten nested lists practice a focused java stream api coding question: flatten nested lists. solve it first with a stream pipeline, then

    28. 119
      Find Common Elements

      find common elements practice a focused java stream api coding question: find common elements. solve it first with a stream pipeline, then

    29. 120
      Find Missing Numbers

      find missing numbers practice a focused java stream api coding question: find missing numbers. solve it first with a stream pipeline, then

    30. 121
      Find Anagram Groups

      find anagram groups practice a focused java stream api coding question: find anagram groups. solve it first with a stream pipeline, then

    31. 122
      Remove Null Values

      remove null values practice a focused java stream api coding question: remove null values. solve it first with a stream pipeline, then

    32. 123
      Custom Collectors

      custom collectors practice a focused java stream api coding question: custom collectors. solve it first with a stream pipeline, then compare it

    33. 124
      Group 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

    34. 125
      Nested Grouping

      nested grouping practice a focused java stream api coding question: nested grouping. solve it first with a stream pipeline, then compare it

    35. 126
      Concurrent Grouping

      concurrent grouping practice a focused java stream api coding question: concurrent grouping. solve it first with a stream pipeline, then compare it

    36. 127
      Window-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

    37. 128
      Stream Performance Optimization

      stream performance optimization practice a focused java stream api coding question: stream performance optimization. solve it first with a stream pipeline, then

    38. 129
      Lazy Evaluation Examples

      lazy evaluation examples practice a focused java stream api coding question: lazy evaluation examples. solve it first with a stream pipeline, then

    39. 130
      Parallel Stream Examples

      parallel stream examples practice a focused java stream api coding question: parallel stream examples. solve it first with a stream pipeline, then

    40. 131
      Reduce Examples

      reduce examples practice a focused java stream api coding question: reduce examples. solve it first with a stream pipeline, then compare it

    41. 132
      Collector Composition

      collector composition practice a focused java stream api coding question: collector composition. solve it first with a stream pipeline, then compare it

    42. 133
      Sales Analytics Dashboard

      sales analytics dashboard practice a focused java stream api coding question: sales analytics dashboard. solve it first with a stream pipeline, then

    43. 134
      E-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

    44. 135
      Banking Transaction Summaries

      banking transaction summaries practice a focused java stream api coding question: banking transaction summaries. solve it first with a stream pipeline, then

    45. 136
      Log Processing

      log processing practice a focused java stream api coding question: log processing. solve it first with a stream pipeline, then compare it

    46. 137
      Student Result Analytics

      student result analytics practice a focused java stream api coding question: student result analytics. solve it first with a stream pipeline, then

    47. 138
      Attendance Reporting

      attendance reporting practice a focused java stream api coding question: attendance reporting. solve it first with a stream pipeline, then compare it

    48. 139
      Employee Reporting

      employee reporting practice a focused java stream api coding question: employee reporting. solve it first with a stream pipeline, then compare it

    49. 140
      Product Inventory Reports

      product inventory reports practice a focused java stream api coding question: product inventory reports. solve it first with a stream pipeline, then

    50. 141
      Social 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

    51. 142
      Fraud 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

    0/3 complete
    1. 143
      Java Exercises

      java exercises reading code teaches you the syntax; writing code makes it stick. work through these exercises in the playground above each

    2. 144
      Try 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

    3. 145
      Java Quiz

      Test your Java knowledge: 10 questions covering syntax, OOP, collections, concurrency, Spring & security with instant feedback.