Java Tutorials
Java tutorials for every skill level — basics, OOP, collections, streams, concurrency, Spring, Jakarta EE, testing, build tools, and enterprise Java development
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
Additional Classic Tutorials
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.
✓ LiveGWT – Google Web Toolkit Guide
Learn Google Web Toolkit: Java-to-JavaScript compilation, widgets, RPC, JSNI, UiBinder, and building high-performance web applications with GWT.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveApache Tapestry Guide
Learn Apache Tapestry: component-based architecture, IoC, Ajax, live class reloading, and building Java web applications with the Tapestry framework.
✓ LiveApache 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.
✓ LiveJava 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.
✓ LiveSpring 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava Concurrency — Explained with Examples
Master Java concurrency: Thread, Runnable, ExecutorService, CompletableFuture, locks, synchronized, volatile, and Fork-Join pool with practical parallel processing examples.
✓ LiveJava 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.
✓ LiveJakarta 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.
✓ LiveEclipse 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava Internationalization -- Locale ResourceBundle and Formatting
Learn Java i18n using Locale ResourceBundle NumberFormat DateFormat and MessageFormat for building applications supporting multiple languages and regions.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava CompletableFuture -- Async Programming with Callbacks
Learn Java CompletableFuture for async programming with thenApply thenCompose exceptionally supplyAsync and allOf for non-blocking concurrent pipelines.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveJava 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.
✓ LiveAll 76 topics in Java — Complete Guide are published.