Java & Spring Boot tutorials available now
Learn Java.
Build Real Skills.
Free, comprehensive tutorials from beginner to advanced — Java, Spring Boot, and more. Written for developers, by developers.
319+
Tutorial Guides
2
Technologies
Free
Always
Introduction
- › What is Java?
- › Features of Java
- › Uses of Java
- › Java Editions (Java SE, EE, ME)
- › JDK, JRE and JVM
- › Java Architecture
- › Platform Independence
- › Bytecode
- › How Java Works
- › First Java Program
- › Java Compilation Process
- › Java Execution Flow
- › Java Installation
- › Setting JAVA_HOME
- › Java Environment Setup
- › Java Naming Conventions
- › Java Keywords
- › Java Reserved Words
- › Java Identifiers
- › Java Unicode System
- › Java Comments
- › Java Coding Standards
Java Basics
- › Variables in Java
- › Data Types in Java
- › Primitive Data Types
- › Non-Primitive Data Types
- › Literals
- › Type Casting
- › Widening Casting
- › Narrowing Casting
- › Operators
- › Arithmetic Operators
- › Relational Operators
- › Logical Operators
- › Bitwise Operators
- › Assignment Operators
- › Unary Operators
- › Ternary Operator
- › instanceof Operator
- › Input and Output
- › Scanner Class
- › BufferedReader
- › Console Input
- › printf()
- › Escape Sequences
- › Command Line Arguments
Control Statements
Object-Oriented Programming
- › OOP Concepts
- › Classes
- › Objects
- › Object Creation
- › Default Constructor
- › Parameterized Constructor
- › Constructor Overloading
- › Copy Constructor
- › this Keyword
- › static Keyword
- › final Keyword
- › Access Modifiers
- › Encapsulation
- › Single Inheritance
- › Multilevel Inheritance
- › Hierarchical Inheritance
- › Method Overriding
- › super Keyword
- › Compile-time Polymorphism
- › Runtime Polymorphism
- › Abstraction
- › Abstract Class
- › Interface
- › Multiple Inheritance using Interface
- › Association
- › Aggregation
- › Composition
- › Object Class
- › Anonymous Object
- › Initialization Blocks
- › Nested Classes
- › Inner Classes
- › Anonymous Inner Classes
- › Static Nested Classes
Arrays
Strings
Exception Handling
Packages and Access Control
Java Memory Management
Collections Framework
- › Collections Overview
- › Iterable
- › Collection Interface
- › ArrayList
- › LinkedList
- › Vector
- › Stack
- › Queue Interface
- › PriorityQueue
- › Deque
- › ArrayDeque
- › HashSet
- › LinkedHashSet
- › TreeSet
- › SortedSet
- › NavigableSet
- › HashMap
- › LinkedHashMap
- › TreeMap
- › Hashtable
- › ConcurrentHashMap
- › WeakHashMap
- › IdentityHashMap
- › EnumMap
- › Collections Class
- › Comparable
- › Comparator
- › Iterator
- › ListIterator
- › Spliterator
- › Fail-Fast vs Fail-Safe
- › Immutable Collections
- › Synchronized Collections
Generics
Multithreading
- › Process vs Thread
- › Thread Basics
- › Creating Threads
- › Thread Lifecycle
- › Thread Priority
- › Thread Scheduler
- › Synchronization
- › synchronized Keyword
- › Inter-thread Communication
- › wait()
- › notify()
- › notifyAll()
- › Deadlock
- › Race Condition
- › Starvation
- › Thread Safety
- › volatile
- › Atomic Variables
- › Executors Framework
- › Thread Pool
- › Future
- › CompletableFuture
- › ForkJoinPool
- › Locks API
- › ReentrantLock
- › ReadWriteLock
- › Semaphore
- › CountDownLatch
- › CyclicBarrier
- › Phaser
- › Parallel Streams
- › Virtual Threads
Java I/O
Java 8 Features
Java 9 to 21 Features
- › Module System (JPMS)
- › JShell
- › Collection Factory Methods
- › Private Interface Methods
- › var Keyword
- › HTTP Client API
- › String Improvements
- › Switch Expressions
- › Text Blocks
- › Pattern Matching
- › Records
- › Sealed Classes
- › Pattern Matching for switch
- › Record Patterns
- › Sequenced Collections
- › Virtual Threads
- › Structured Concurrency
- › Scoped Values
Functional Programming
Date Time API
All Technologies
Start with Java, more coming soon.