Eduzan / Java
Java Tutorial Roadmap
Overview of Java
Java is a high-level, object-oriented, platform-independent programming language widely used for building enterprise applications, web applications, mobile apps, and backend systems.
Java vs C++ vs Python
- Java: Platform-independent, OOP-focused, strong memory management
- C++: High performance, low-level memory control
- Python: Simple syntax, rapid development, scripting-friendly
Java Platform and Execution
- Just-In-Time (JIT) Compiler
- Difference between JIT and JVM
- Bytecode vs Machine Code
- How Java achieves platform independence
Java Basic Syntax
- Structure of a Java program
- Writing a Hello World program
Data Types in Java
- Primitive data types
- Object (reference) data types
Identifiers
- Java identifier naming rules
Variables in Java
- Variable declaration and initialization
- Scope of variables
Console Input
- Taking user input in Java
- Scanner class
- Different ways to read input from the console
Output in Java
- Using
System.out.println() - Formatted output using
printf()
Types of Operators
- Unary operators
- Assignment operators
- Relational operators
- Logical operators
- Ternary operator
Decision-Making Statements
ifstatementif-elsestatementif-else-ifladder
Loops
whileloopdo-whileloopfor-eachloop
Control Statements
breakstatementcontinuestatementreturnkeyword
Arrays Overview
- Declaring and initializing arrays
Types of Arrays
- One-dimensional arrays
- Multidimensional arrays
- Jagged arrays
- Final arrays
Arrays Utility Classes
Arraysclassreflect.Array- Difference between
util.Arraysandreflect.Array
Java Naming Conventions
- Class, method, and variable naming rules
Classes and Objects
- Understanding classes and objects
- Object class in Java
- Singleton design pattern
Constructors
- Default and parameterized constructors
- Copy constructor
- Constructor overloading
- Constructor chaining
- Private constructors and singleton classes
Inheritance Concepts
- Inheritance and constructors
- Types of inheritance
- Interfaces and inheritance
Multiple Inheritance
- Achieved using interfaces
Abstraction Concepts
- Abstract classes
- Abstract methods
- Control abstraction
Data Hiding vs Abstraction
- Key differences
Encapsulation Concepts
- Data hiding using access modifiers
Abstraction vs Encapsulation
- Key differences and use cases
Polymorphism Concepts
- Compile-time polymorphism
- Runtime polymorphism
Dynamic Method Dispatch
- Method overriding
Inheritance vs Polymorphism
- Conceptual differences
Methods Overview
- Defining and calling methods
Method Overloading
- Compile-time polymorphism
Method Overriding
- Runtime polymorphism
Memory Allocation
- Stack vs Heap memory
JVM Memory Areas
- Types of memory areas allocated by JVM
Garbage Collection
- Garbage collection basics
- Types of JVM garbage collectors
Memory Leaks
- Causes and prevention
JVM Stack Area
- Stack frames and execution
Wrapper Classes Overview
- Character class
- Byte, Short, Long, Float classes
Java Keywords
- List of Java keywords
Important Keywords
superfinalstaticenumtransientvolatile
final vs finally vs finalize
- Differences and use cases
Types of Access Modifiers
- Public
- Protected
- Package-private
- Private
Access vs Non-Access Modifiers
- Key differences
Inner Class Concepts
- Types of inner classes
Package Basics
- Creating packages
Common Packages
java.utiljava.langjava.io
Exception Basics
- Types of exceptions
- Checked vs unchecked exceptions
Exception Handling Mechanism
try,catch,finally- Flow control in exception handling
throw and throws
- Custom exception handling
Advanced Exception Topics
- User-defined exceptions
- Chained exceptions
Thread Basics
- Lifecycle and states of a thread
- Main thread
Thread Creation
ThreadclassRunnableinterface
Thread Management
- Thread priority
- Naming threads
start()method behavior
Thread Synchronization
- Importance of synchronization
- Method-level and block-level synchronization
Locks and Concurrency
- Lock framework vs synchronization
- Atomic vs volatile vs synchronized
Deadlocks
- Deadlock concepts
- Prevention and avoidance
Advanced Locks
- Lock vs monitor
- ReentrantLock
File Handling Basics
Fileclass- Creating files
Reading Files
- Different ways to read text files
Writing Files
- Writing data into files
- FileWriter class
File Operations
- Deleting files
- File permissions
Advanced File Handling
- FileDescriptor
- RandomAccessFile
End of lesson.