Skip to content

Java Tutorials

Java tutorials for every skill level — basics, OOP, collections, streams, concurrency, Spring, Jakarta EE, testing, build tools, and enterprise Java development

76 Published

In this tutorial, you will learn about Java. We cover key concepts, practical examples, and best practices to help you master this topic.

Comprehensive java tutorials covering everything from qubits and Superposition to advanced algorithms and real-world applications.

Fundamentals

Java Hello World Explained -- Write and Run Your First Program
Java Variables and Data Types -- Complete Beginner's Guide
Java Control Flow Statements -- If Else Loops and Switch
Java Arrays and Strings -- Manipulation and Methods Guide
Java Input and Output Basics -- Console Scanner and Print
Java Methods and Functions -- Parameters Return Types Scope
Java Packages and Imports -- Organize Code Effectively

Additional Classic Tutorials

Jakarta EE -- Explained with Examples
Java Annotations & Reflection -- Complete Guide
Java Basics -- Complete Beginner's Guide
Java Build Tools -- Maven & Gradle Guide
Java Collections Framework -- Explained with Examples
Java Concurrency -- Explained with Examples
Java Exception Handling -- Complete Guide
Java Generics -- Complete Guide with Examples
Java I/O -- File Handling & NIO Guide
Java Lambdas & Functional Programming Guide
Java Memory Model -- Explained with Examples
Java Module System (JPMS) -- Complete Guide
Java OOP -- Object-Oriented Programming Explained
Java Streams and Lambdas -- Explained with Examples
Java Testing -- JUnit 5 Complete Guide
Eclipse MicroProfile -- Cloud-Native Java Explained
Spring Framework Guide -- Enterprise Java Development

Published Topics

JSF – Java Server Faces Guide

Learn Java Server Faces: managed beans, facelets, components, converters, validators, navigation, and building component-based Java web applications.

✓ Live

GWT – Google Web Toolkit Guide

Learn Google Web Toolkit: Java-to-JavaScript compilation, widgets, RPC, JSNI, UiBinder, and building high-performance web applications with GWT.

✓ Live

Java Basics — Complete Beginner's Guide

Learn Java from scratch: understand variables, data types, operators, control flow, arrays, and input/output with hands-on code examples and beginner-friendly explanations.

✓ Live

Java OOP — Object-Oriented Programming Explained

Master Java OOP: learn classes, objects, inheritance, polymorphism, encapsulation, abstraction, interfaces, and method overriding with practical examples and security insights.

✓ Live

Apache Tapestry Guide

Learn Apache Tapestry: component-based architecture, IoC, Ajax, live class reloading, and building Java web applications with the Tapestry framework.

✓ Live

Apache CXF Web Services Guide

Learn Apache CXF: JAX-WS SOAP services, JAX-RS RESTful services, WS-Security, code-first and WSDL-first development, and service integration.

✓ Live

Java Exception Handling — Complete Guide

Master Java exception handling: learn try-catch blocks, checked vs unchecked exceptions, custom exceptions, try-with-resources, and best practices for robust error handling in real applications.

✓ Live

Spring Framework Guide — Enterprise Java Development

Master Spring Framework: learn IoC and dependency injection, Spring Boot auto-configuration, Spring MVC for web apps, Spring Data JPA for database access, Spring Security, building REST APIs, and configuring with application.properties.

✓ Live

Java Collections Framework — Explained with Examples

Master Java Collections Framework: List, Set, Map, Queue, ArrayList vs LinkedList, HashMap vs TreeMap, ConcurrentHashMap, and stream operations with practical code examples.

✓ Live

Java Generics — Complete Guide with Examples

Master Java Generics: learn type parameters, generic methods, bounded wildcards, type erasure, and practical patterns for writing reusable, type-safe code in collections and custom classes.

✓ Live

Java Lambdas & Functional Programming Guide

Master Java lambdas and functional programming: learn lambda expressions, functional interfaces, method references, streams, Optional, and pipelines with real-world data processing examples.

✓ Live

Java Streams and Lambdas — Explained with Examples

Master Java Streams API and lambda expressions: stream pipeline stages, map-filter-reduce patterns, parallel streams, and practical transaction processing examples.

✓ Live

Java Concurrency — Explained with Examples

Master Java concurrency: Thread, Runnable, ExecutorService, CompletableFuture, locks, synchronized, volatile, and Fork-Join pool with practical parallel processing examples.

✓ Live

Java Memory Model — Explained with Examples

Understand Java Memory Model: heap structure (young, old, Metaspace), stack, garbage collection (G1, ZGC, Shenandoah), memory leaks, and heap dump analysis with JVisualVM.

✓ Live

Jakarta EE — Explained with Examples

Master Jakarta EE (formerly Java EE): Servlets, JPA, CDI, JAX-RS, EJB, and building enterprise REST APIs with practical code examples and deployment.

✓ Live

Eclipse MicroProfile — Cloud-Native Java Explained

Master Eclipse MicroProfile for cloud-native Java: Config, Fault Tolerance, Health, OpenAPI, Rest Client, and building production-ready microservices with practical examples.

✓ Live

Java I/O — File Handling & NIO Guide

Master Java I/O for file handling: FileReader, FileWriter, BufferedReader, NIO channels, Path, Files utility, and real-world security scanning patterns.

✓ Live

Java Testing — JUnit 5 Complete Guide

Master JUnit 5 for Java testing: annotations, assertions, parameterized tests, mocks with Mockito, test lifecycle, and enterprise testing patterns with DodaTech examples.

✓ Live

Java Build Tools — Maven & Gradle Guide

Master Java build tools Maven and Gradle: dependency management, build lifecycle, plugins, multi-module projects, and CI/CD integration for enterprise Java applications.

✓ Live

Java Annotations & Reflection — Complete Guide

Master Java annotations and reflection: creating custom annotations, runtime processing with reflection, retention policies, annotation inheritance, and practical framework-building patterns.

✓ Live

Java Module System (JPMS) — Complete Guide

Master the Java Module System (JPMS): module-info.java declarations, exports, requires, opens directives, service loader patterns, and migrating legacy applications to Java modules.

✓ Live

Java Hello World Explained -- Write and Run Your First Program

Learn how to write compile and run your first Java program using the JDK with step-by-step instructions covering the main method and basic syntax fundamentals.

✓ Live

Java Variables and Data Types -- Complete Beginner's Guide

Learn Java variables and primitive data types including int double boolean and char with assignment operators type casting and best variable naming practices.

✓ Live

Java Control Flow Statements -- If Else Loops and Switch

Learn Java control flow with if else ladder switch statements and for while do-while loops including break continue and decision-making programming logic.

✓ Live

Java Arrays and Strings -- Manipulation and Methods Guide

Learn Java array declaration initialization traversal and String immutability with StringBuilder methods and common text-processing utility code patterns.

✓ Live

Java Input and Output Basics -- Console Scanner and Print

Learn Java console input using Scanner class and output with System.out including formatted printf and reading user input from the command line environment.

✓ Live

Java Methods and Functions -- Parameters Return Types Scope

Learn Java method declaration parameter passing return types method overloading and variable scope including static methods and main method syntax basics.

✓ Live

Java Packages and Imports -- Organize Code Effectively

Learn Java package structure import statements fully qualified names access modifiers and classpath management for well-organized scalable Java projects.

✓ Live

Java String API Methods -- Complete Reference with Examples

Learn essential Java String API methods including substring replace split join format and regular expression matching for effective text manipulation workflows.

✓ Live

Java Date and Time API -- LocalDate LocalTime and DateTimeFormatter

Learn the modern Java Date and Time API with LocalDate LocalTime LocalDateTime Duration Period and DateTimeFormatter for robust date-time handling in code.

✓ Live

Java Regex Patterns and Matcher -- Complete Regular Expressions Guide

Learn Java regex using Pattern and Matcher classes with capturing groups quantifiers character classes and flags for advanced string validation and extraction.

✓ Live

Java Math and Random -- Numeric Operations and Random Numbers

Learn the Java Math class for trigonometric exponential and rounding operations and the Random and ThreadLocalRandom classes for generating random values.

✓ Live

Java Networking APIs -- Sockets URL and HTTP Clients

Learn Java networking with Socket ServerSocket URL and the modern HttpClient API for building client and server applications and REST communication APIs.

✓ Live

Java Reflection API -- Inspect Classes Methods and Fields at Runtime

Learn Java Reflection API to inspect class metadata invoke methods access private fields and create dynamic proxy instances at runtime in applications.

✓ Live

Java Internationalization -- Locale ResourceBundle and Formatting

Learn Java i18n using Locale ResourceBundle NumberFormat DateFormat and MessageFormat for building applications supporting multiple languages and regions.

✓ Live

Java Classes and Objects -- Object-Oriented Programming Fundamentals

Learn Java class declaration object instantiation instance variables reference types and the new keyword for reusable object-oriented software components.

✓ Live

Java Inheritance and Polymorphism -- Superclass Subclass Hierarchies

Learn Java inheritance with extends keyword method overriding super calls polymorphic behaviors and the instanceof operator for dynamic type checking.

✓ Live

Java Abstraction and Interfaces -- Abstract Classes vs Interfaces

Learn Java abstraction using abstract classes and interfaces with default methods functional interfaces lambda compatibility and contract-based API designs.

✓ Live

Java Encapsulation -- Getters Setters and Access Modifiers

Learn Java encapsulation with private fields public getters and setters access modifiers and data hiding to protect object integrity and enforce invariants.

✓ Live

Java Constructors and Initialization Blocks -- Complete Guide

Learn Java constructors including default parameterized chaining with this and super calls and static and instance initialization block execution order.

✓ Live

Java Static Keyword -- Static Methods Variables and Blocks

Learn the Java static keyword for class-level methods variables init blocks and nested static classes with use cases in utility and singleton patterns.

✓ Live

Java Enum Types -- Enum Constructor Methods and Switch

Learn Java enum types with fields constructors methods switch compatibility and EnumSet EnumMap for type-safe constant definitions in application code.

✓ Live

Java ArrayList vs LinkedList -- Performance and Use Cases Compared

Learn Java ArrayList and LinkedList differences in performance memory usage and insertion deletion patterns with practical code examples and best use cases.

✓ Live

Java HashMap and TreeMap -- Map Implementations Complete Guide

Learn Java HashMap TreeMap and LinkedHashMap implementations including hashing collision resolution ordering guarantees and when to choose each map type.

✓ Live

Java HashSet and TreeSet -- Set Implementations Compared

Learn Java HashSet TreeSet and LinkedHashSet with hash and tree-based storage duplicate elimination ordering guarantees and performance trade-offs in detail.

✓ Live

Java Queue and Deque Interfaces -- ArrayDeque PriorityQueue LinkedList

Learn Java Queue and Deque interfaces with ArrayDeque PriorityQueue and LinkedList implementations for FIFO LIFO and priority-based data processing patterns.

✓ Live

Java Stream API -- Intermediate and Terminal Operations Guide

Learn the Java Stream API with map filter flatMap reduce collect intermediate and terminal operations for declarative functional data processing in pipelines.

✓ Live

Java Optional Class -- Null Safety and Functional Value Wrapping

Learn Java Optional class for null-safe programming with orElse orElseThrow ifPresent map flatMap and filter methods to eliminate null pointer exceptions.

✓ Live

Java Comparator and Comparable -- Sorting Objects in Collections

Learn Java Comparable and Comparator interfaces for sorting custom objects with natural ordering lambda comparators chained comparators and null-safe sorting.

✓ Live

Java Thread Lifecycle -- States Transitions and Management

Learn the Java thread lifecycle from NEW to TERMINATED including runnable blocked waiting and timed-waiting states with practical monitoring and debugging tips.

✓ Live

Java Synchronization -- Synchronized Methods Blocks and Locks

Learn Java synchronization with synchronized methods blocks intrinsic locks and the wait notify notifyAll pattern for thread-safe shared resource access.

✓ Live

Java ExecutorService -- Thread Pool Management and Task Scheduling

Learn Java ExecutorService with thread pools Callable Future invokeAll and ScheduledExecutorService for efficient concurrent task execution in applications.

✓ Live

Java CompletableFuture -- Async Programming with Callbacks

Learn Java CompletableFuture for async programming with thenApply thenCompose exceptionally supplyAsync and allOf for non-blocking concurrent pipelines.

✓ Live

Java Lock API -- ReentrantLock ReadWriteLock and Conditions

Learn Java Lock API with ReentrantLock ReadWriteLock StampedLock and Condition interface for advanced thread synchronization beyond the synchronized keyword.

✓ Live

Java Atomic Variables -- AtomicInteger AtomicLong and CAS Operations

Learn Java atomic variables with AtomicInteger AtomicLong AtomicReference and compare-and-swap operations for lock-free thread-safe single-variable updates.

✓ Live

Java Volatile Keyword -- Visibility and Happens-Before Guarantee

Learn the Java volatile keyword for variable visibility across threads memory consistency and the happens-before relationship in concurrent programming.

✓ Live

Java Maven Basics -- Build Automation and Dependency Management

Learn Apache Maven for Java project builds with pom.xml dependency management plugin configuration and the standard Maven directory layout and structures.

✓ Live

Java Gradle Basics -- Build Scripts and Dependency Configuration

Learn Gradle build tool for Java projects with Groovy Kotlin DSL dependency configurations multi-module projects and task-based build automation in Gradle.

✓ Live

Java JUnit Annotations -- Test Lifecycle and Assertions Guide

Learn JUnit 5 annotations including Test BeforeEach BeforeAll ParameterizedTest and assertions for writing structured repeatable and comprehensive unit tests.

✓ Live

Java Mockito Framework -- Mocking Stubbing and Verification

Learn Mockito for Java unit testing with mock creation stubbing behavior verification argument matchers and the MockitoExtension for JUnit 5 integration.

✓ Live

Java Integration Testing -- TestContainers and End-to-End Tests

Learn Java integration testing with TestContainers for database and service containers Spring Boot Test and end-to-end testing for robust applications.

✓ Live

Java Code Coverage -- JaCoCo and SonarQube Quality Gates

Learn Java code coverage with JaCoCo plugin configuration SonarQube integration coverage thresholds and quality gates for enforcing test coverage in CI builds.

✓ Live

Java Logging with Log4j -- Appenders Layouts and Configuration

Learn Java logging with Log4j 2 including appenders layouts log levels rolling file appenders and configuration using XML JSON YAML and properties formats.

✓ Live

Java Spring Boot Basics -- REST API and Auto-Configuration

Learn Spring Boot for Java development with auto-configuration dependency injection REST controllers Spring Data JPA and application properties setup.

✓ Live

Java Hibernate and JPA -- ORM Entity Mapping and Queries

Learn Java Hibernate ORM with JPA annotations entity relationships lazy eager fetching JPQL queries and cascade operations for database persistence management.

✓ Live

Java REST API with JAX-RS -- Jakarta RESTful Web Services Guide

Learn Java REST API development with JAX-RS including Path GET POST annotations JSON binding and exception mappers for building production web services.

✓ Live

Java Modern Features -- Records Sealed Classes Pattern Matching

Learn modern Java features from JDK 14 to 21 including records sealed classes pattern matching for instanceof switch expressions and text blocks enhancements.

✓ Live

Java Records and Sealed Classes -- Data Carriers and Type Hierarchies

Learn Java records for immutable data carriers and sealed classes for restricted type hierarchies with permits exhaustive switch and safety guarantees.

✓ Live

Java Pattern Matching for Switch -- Exhaustive and Null-Safe

Learn Java pattern matching for switch with type patterns guard conditions sealed class exhaustiveness and null case handling in modern Java releases.

✓ Live

Java Virtual Threads -- Lightweight Concurrency for High Throughput

Learn Java virtual threads from Project Loom for lightweight millions-scale concurrency with structured concurrency and performance comparisons to threads.

✓ Live

Java Coding Standards and Best Practices -- Clean Code Guide

Learn Java coding standards including naming conventions code formatting Javadoc comments error handling and static analysis tools for maintainable software.

✓ Live

Java Performance Tuning -- Profiling JVM Optimization and Benchmarks

Learn Java performance tuning with JVM flags garbage collection tuning profiling tools and JMH benchmarks for optimizing application throughput and memory.

✓ Live

Java Memory Management -- Heap Stack GC and Memory Leaks

Learn Java memory management including heap and stack allocation garbage collection algorithms memory leak detection and JVM memory monitoring tools and flags.

✓ Live

Java Design Patterns -- Singleton Factory Observer and More

Learn Java design patterns including creational structural and behavioral patterns with Singleton Factory Observer Strategy and Builder implementations in Java.

✓ Live

Java API Design Best Practices -- Building Robust Interfaces

Learn Java API design best practices including interface segregation immutability method chaining fluent APIs and backward compatibility for library design.

✓ Live

Java Interview Preparation Guide -- Core Questions and Answers

Learn Java interview questions covering core language concepts multithreading collections JVM internals and lambdas with detailed explanations and code samples.

✓ Live

All 76 topics in Java — Complete Guide are published.