- What is Java?
- History
- Features
- Applications
- Setup Development Environment
- Install JDK
- Install IDE (e.g., IntelliJ IDEA, Eclipse, NetBeans)
- Hello World Program
- Basic Syntax
- Data Types
- Variables
- Operators
- Control Flow Statements
- If-else
- Switch
- Loops (for, while, do-while)
- Classes and Objects
- Definition and Instantiation
- Fields and Methods
- Principles of OOP
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Constructors
- Static Keyword
- Interfaces and Abstract Classes
- Inner Classes
- Anonymous Classes
- Enumerations (Enums)
- List Interface
- ArrayList
- LinkedList
- Set Interface
- HashSet
- TreeSet
- Map Interface
- HashMap
- TreeMap
- Queue Interface
- PriorityQueue
- Stack Class
- Try-Catch-Finally Block
- Types of Exceptions
- Checked Exceptions
- Unchecked Exceptions
- Throw and Throws Keywords
- Custom Exceptions
- File I/O
- FileReader and FileWriter
- BufferedReader and BufferedWriter
- Serialization and Deserialization
- Creating Threads
- Extending Thread Class
- Implementing Runnable Interface
- Thread Lifecycle
- Synchronization
- Concurrency Utilities
- Java.lang
- Java.util
- Java.io
- Java.nio
- Sockets
- TCP and UDP
- URL and HttpURLConnection
- JDBC Drivers
- Connecting to a Database
- Executing SQL Queries
- PreparedStatement and CallableStatement
- Swing
- JFrame, JPanel, JButton, JTextField, etc.
- JavaFX
- Application Structure
- Scene and Stage
- Coding Conventions
- Common Design Patterns
- Singleton
- Factory
- Observer
- Strategy
- Java 8 Features
- Lambda Expressions
- Streams API
- Optional Class
- Java 9 and Beyond
- Modules
- Local Variable Type Inference (var)
- Coding Conventions
- Common Design Patterns
- Singleton
- Factory
- Observer
- Strategy
- Introduction to Spring Framework
- Overview
- Modules (Core, AOP, JDBC, MVC, etc.)
- Dependency Injection
- Inversion of Control (IoC)
- Bean Configuration
- Spring MVC
- Controllers
- Views (JSP, Thymeleaf)
- RESTful Web Services
- Spring Boot
- Introduction and Setup
- Creating a Spring Boot Application
- Spring Boot Annotations
- Embedded Servers (Tomcat, Jetty)
- Configuration and Properties
- Introduction to Microservices
- Monolithic vs. Microservices Architecture
- Building Microservices with Spring Boot
- Creating Microservices
- Inter-Service Communication
- REST
- gRPC
- Service Discovery with Eureka
- Load Balancing with Ribbon
- API Gateway with Zuul
- Circuit Breaker with Hystrix
- Spring Cloud
- Config Server
- Sleuth and Zipkin for Distributed Tracing
- Security with OAuth2 and JWT
- Build a Real-World Application
- Requirements Gathering
- Design
- Implementation
- Testing
- Deployment
- Books
- "Effective Java" by Joshua Bloch
- "Java: The Complete Reference" by Herbert Schildt
- Documentation