Skip to main content
Programming Languages

Java.

Enterprise Java software engineering, core OOP principles, generics, concurrency, and automated test runners.

Beginner

Start here — no prior experience needed

17 lessons
java beginner
5 min read

What Java is, where it's used, how Java code is structured, and a complete roadmap for learning Java from beginner to advanced.

java beginner
5 min read

Install the JDK, set up IntelliJ IDEA, write your first Java program, and understand how Java code compiles and runs.

java beginner
5 min read

Master Java's 8 primitive types, their wrapper classes, type casting, String handling, and how Java stores values in memory.

java beginner
5 min read

Complete guide to Java operators — arithmetic, relational, bitwise, shift, logical, ternary, instanceof, and operator precedence.

java beginner
5 min read

Learn how to declare variables, use Java's operators, take user input with Scanner, work with constants, and use the Math class.

java beginner
5 min read

Master Java's decision-making and looping constructs — if/else, switch expressions, for/while/do-while loops, break, and continue.

java beginner
5 min read

Learn Java arrays — single and multi-dimensional arrays, array operations, sorting, searching, and the Arrays utility class.

java beginner
5 min read

Master Java methods — from basic declarations to lambda expressions, method references, and functional interfaces.

java beginner
5 min read

Deep dive into Java String — immutability, common methods, StringBuilder, StringBuffer, string formatting, and regular expressions.

java beginner
5 min read

Learn how Java methods work — parameters, return types, method overloading, scope, recursion, and the difference between pass-by-value and pass-by-reference.

java beginner
5 min read

A complete map of Java Object-Oriented Programming concepts — from beginner classes and objects through intermediate interfaces and composition to advanced SOLID principles and design patterns.

java beginner
5 min read

Understand what OOP is, why it exists, and how Java organises code around classes and objects with real-world examples.

java beginner
5 min read

Learn how to protect object state with access modifiers, getters, setters, and immutable design — with production-grade Java examples.

java beginner
5 min read

Learn how to build class hierarchies using extends, super, method overriding, and the Liskov Substitution Principle with real Java examples.

java beginner
5 min read

Understand runtime and compile-time polymorphism in Java — method overriding, dynamic dispatch, and the power of programming to interfaces.

java beginner
5 min read

Learn how Java's abstract classes and interfaces hide complexity and let you define contracts that decouple callers from implementations.

java beginner
5 min read

Understand Java's exception hierarchy — checked vs unchecked exceptions, Errors, finally blocks, and when to use each.

Intermediate

For developers with core concepts down

30 lessons
java intermediate
5 min read

Learn Java regex with Pattern and Matcher — character classes, groups, named groups, lookahead, lookbehind, and real-world patterns.

java intermediate
5 min read

Go beyond the basics — learn interface segregation, default methods, functional interfaces, and how interfaces enable real-world design patterns.

java intermediate
5 min read

Master abstract classes — when to use them over interfaces, template method pattern, and how they enable shared behaviour across a class hierarchy.

java intermediate
5 min read

Understand compile-time polymorphism through method overloading — parameter types, varargs, autoboxing pitfalls, and real-world builder patterns.

java intermediate
5 min read

Learn when to favour composition over inheritance, how to use the Decorator and Strategy patterns, and how to build flexible, loosely coupled Java classes.

java intermediate
5 min read

Deep dive into Java generics — generic methods, bounded type parameters, wildcards (? extends, ? super), type erasure, and the PECS principle.

java intermediate
5 min read

Learn how Java handles errors — the exception hierarchy, try/catch/finally, checked vs unchecked exceptions, throw/throws, and creating custom exceptions.

java intermediate
5 min read

Master the Java Streams API — filter, map, collect, flatMap, reduce, and Collectors for expressive data processing pipelines.

java intermediate
5 min read

Master Java's Collections Framework — ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, Queue, and PriorityQueue with practical examples.

java intermediate
5 min read

Use Optional<T> to eliminate NullPointerException — orElse, orElseGet, orElseThrow, map, flatMap, and Optional design patterns.

java intermediate
5 min read

Read and write files in Java using the File API, BufferedReader/Writer, FileInputStream/OutputStream, and the modern NIO.2 Path/Files API.

java intermediate
5 min read

Learn Java records (Java 16+) — immutable data carriers, compact constructors, custom methods, and when to use records over classes.

java intermediate
5 min read

Master Java 8's most impactful features — lambda expressions, functional interfaces, the Streams API, method references, Optional, and the Date/Time API.

java intermediate
5 min read

Master sealed classes and interfaces (Java 17+) — restrict class hierarchies, use permits, and combine with pattern matching for exhaustive switching.

java intermediate
5 min read

Learn Java concurrency — creating threads, the Runnable interface, thread lifecycle, synchronization, the Executor framework, and CompletableFuture.

java intermediate
5 min read

Connect Java to MySQL using JDBC — establishing connections, executing CRUD operations, using PreparedStatement, and managing transactions.

java intermediate
5 min read

Learn Maven — the industry-standard Java build tool for managing dependencies, project structure, build lifecycle, and producing deployable artifacts.

java intermediate
5 min read

Learn Gradle — a flexible, fast build tool for Java. Covers build scripts, dependency management, tasks, and the Kotlin DSL.

java intermediate
5 min read

Learn to write effective unit tests in Java using JUnit 5 annotations and assertions, and mock dependencies with Mockito.

java intermediate
5 min read

Learn how to add production-grade logging to Java applications using SLF4J as the facade and Logback as the implementation.

java intermediate
5 min read

Get started with Spring Boot — what it is, how it differs from Spring Framework, project setup with Spring Initializr, and your first REST endpoint.

java intermediate
5 min read

Understand how Spring's IoC container manages beans, the types of dependency injection, component scanning, and bean scopes.

java intermediate
5 min read

Five Java project ideas with full descriptions, skills practiced, tech stack recommendations, and difficulty ratings to build your portfolio.

java intermediate
5 min read

Build production-quality REST APIs with Spring Boot — request mapping, path variables, query params, request bodies, response entities, and HTTP status codes.

java intermediate
5 min read

Validate request data in Spring Boot using Bean Validation annotations, custom validators, and global error handling for clean API error responses.

java intermediate
5 min read

Persist data with Spring Data JPA — entity mapping, repositories, JPQL queries, pagination, and relationships.

java intermediate
5 min read

Build a consistent, production-grade error handling layer in Spring Boot using @ControllerAdvice, custom exceptions, and RFC 7807 problem details.

java intermediate
5 min read

Secure Spring Boot applications with Spring Security — HTTP security config, user details, password encoding, role-based authorization, and method-level security.

java intermediate
5 min read

Implement stateless JWT authentication in Spring Boot — generating tokens, validating them in a filter, refresh tokens, and securing endpoints.

java intermediate
5 min read

Package and run Spring Boot applications in Docker — writing Dockerfiles, multi-stage builds, Docker Compose for local development, and best practices.

Advanced

Production-grade patterns for experienced engineers

11 lessons
java advanced
5 min read

Master the five SOLID design principles with concrete Java examples — the foundation of maintainable, extensible object-oriented code.

java advanced
5 min read

Learn the most important Gang of Four design patterns with production-grade Java implementations — Singleton, Factory, Builder, Observer, and Strategy.

java advanced
5 min read

Learn how Java generics and OOP work together — generic classes, bounded type parameters, wildcards, generic methods, and type-safe collection design.

java advanced
5 min read

Master Project Loom's virtual threads (Java 21) — lightweight concurrency, structured concurrency, and migrating from platform threads.

java advanced
5 min read

Master the Java Platform Module System — module-info.java, exports, requires, opens, services, and modular application structure.

java advanced
5 min read

Understand JVM memory — heap, stack, metaspace, GC algorithms, G1/ZGC tuning, and diagnosing memory leaks and OutOfMemoryError.

java advanced
5 min read

Master Java's advanced concurrency — ExecutorService, CompletableFuture, Fork/Join framework, BlockingQueue, and concurrent data structures.

java advanced
5 min read

Profile and optimize Java applications — JMH benchmarks, Java Flight Recorder, JIT compilation, heap analysis, and common performance pitfalls.

java advanced
5 min read

Secure Java coding practices — input validation, OWASP Top 10 for Java, KeyStore, TLS/HTTPS setup, and protecting against common vulnerabilities.

java advanced
5 min read

Essential Java interview topics — JVM internals, memory model, garbage collection, collections deep dive, multithreading questions, and Java 8+ questions with answers.

java advanced
5 min read

Master advanced Java testing — JUnit 5 extensions, Mockito deep dive, TestContainers for integration tests, and test architecture patterns.