Java Programming
Learn Java programming from the ground up. This course covers core Java, object-oriented programming, data structures, algorithms, Spring Boot, REST APIs, and database integration. Build enterprise-grade applications with one of the most popular programming languages.
Course Tutorials
Beginner
6 TutorialsJava Fundamentals
Install the JDK and write your first programs. Variables, primitive types, operators, type conversion and console I/O.
Control Flow & Loops
Make decisions and repeat work: if/else, switch expressions, while, for and for-each loops, break and continue.
Methods, Arrays & Strings
Organise code into methods, work with single- and multi-dimensional arrays, and master the String and StringBuilder APIs...
Object-Oriented Programming Basics
Classes, objects, constructors, encapsulation, static members and packages — the foundations of OOP in Java.
Inheritance & Polymorphism
Reuse and extend behaviour with inheritance, method overriding, dynamic dispatch, casting and the Object class.
Exception Handling
Write robust code with try/catch/finally, checked vs unchecked exceptions, custom exceptions and try-with-resources.
Intermediate
6 TutorialsInterfaces & Abstract Classes
Design to contracts with interfaces, abstract classes, default and static methods, and functional interfaces.
The Collections Framework
Lists, sets, maps, queues and deques — choosing and using the right data structure for the job.
Generics
Write type-safe, reusable code with generic classes and methods, bounded types, wildcards and type erasure.
Enums, Records & Sealed Types
Model fixed sets and immutable data with enums, records, sealed classes and pattern matching.
Lambdas & Functional Interfaces
Functional programming in Java: lambda expressions, the core functional interfaces and method references.
The Streams API
Process collections declaratively: map, filter, reduce, collectors, grouping and parallel streams.
Advanced
6 TutorialsOptional & Modern Java
Avoid null bugs with Optional, and use modern language features: var, text blocks, switch expressions and pattern matchi...
File I/O & NIO.2
Read and write files with the classic IO and modern NIO.2 APIs: Path, Files, streams, readers and serialization.
Date & Time API
Handle dates, times, durations, periods, formatting and time zones with the java.time API.
Concurrency Basics
Threads, Runnable, synchronization, the volatile keyword and atomic variables — concurrency from the ground up.
Concurrent Utilities
Higher-level concurrency: ExecutorService, Future, CompletableFuture, concurrent collections and locks.
JDBC & Databases
Connect Java to relational databases: DriverManager, PreparedStatement, ResultSet, transactions and pooling.
Expert
6 TutorialsDesign Patterns in Java
Apply the classic creational, structural and behavioral design patterns idiomatically in modern Java.
JVM Internals & Performance
How the JVM works: the memory model, garbage collection, the JIT compiler, profiling and tuning.
Testing with JUnit 5 & Mockito
Write reliable tests: JUnit 5 assertions and lifecycle, mocking with Mockito and test-driven development.
Build Tools & Modules
Manage real projects with Maven and Gradle, dependencies, and the Java Platform Module System (JPMS).
Networking & HTTP
Talk to the network: sockets, the modern java.net.http HttpClient, consuming REST APIs and JSON.
Capstone: A Real Java Application
Tie it all together by designing and building a complete, well-structured Java application end to end.