view respective folders for more details
├── Core Java Basics
│ ├── JDK, JRE, and JVM Architecture
│ ├── Data Types and Variables
│ ├── Operators and Expressions
│ ├── Control Flow (if-else, switch, loops)
│ └── Arrays and Enhanced For Loops
├── Object-Oriented Programming
│ ├── Classes and Objects
│ ├── Constructors and the this Keyword
│ ├── Inheritance (extends, super)
│ ├── Polymorphism (overloading, overriding)
│ ├── Abstraction (abstract classes, interfaces)
│ └── Encapsulation (access modifiers)
├── Basic Java APIs
│ ├── String, StringBuilder, and StringBuffer
│ ├── Wrapper Classes and Autoboxing
│ ├── Math, Random, and Scanner Classes
│ └── Date and Time API (java.time)
├── Collections Framework
│ ├── List (ArrayList, LinkedList, Vector)
│ ├── Set (HashSet, LinkedHashSet, TreeSet)
│ ├── Queue (PriorityQueue, ArrayDeque)
│ ├── Map (HashMap, LinkedHashMap, TreeMap)
│ ├── Comparable vs Comparator
│ └── Stream operations and lambda expressions
├── Exception Handling
│ ├── Checked vs unchecked exceptions
│ ├── try-catch-finally blocks
│ ├── try-with-resources
│ └── Custom exceptions
├── Multithreading
│ ├── Thread class and Runnable interface
│ ├── Thread lifecycle and states
│ ├── Synchronization and locks
│ ├── ExecutorService and thread pools
│ ├── CompletableFuture for async programming
│ └── Concurrent collections
├── File I/O and NIO
│ ├── FileReader/FileWriter
│ ├── BufferedReader/BufferedWriter
│ ├── NIO package (Path, Files)
│ └── Serialization
├── SQL Fundamentals
│ ├── CRUD operations
│ ├── Joins (INNER, LEFT, RIGHT, FULL)
│ ├── Group By and Having
│ ├── Subqueries and set operations
│ └── Indexes and performance
├── JDBC Programming
│ ├── DriverManager and Connection
│ ├── Statement, PreparedStatement
│ ├── ResultSet and RowSet
│ ├── Batch processing
│ ├── Transaction management
│ └── Connection pooling (HikariCP)
├── Database Design
│ ├── Normalization (1NF to 3NF)
│ ├── Primary/Foreign keys
│ └── Entity relationship modeling
├── Servlet & JSP
│ ├── Servlet lifecycle
│ ├── RequestDispatcher and sendRedirect
│ ├── Session management
│ ├── Filters and Listeners
│ ├── JSP tags and EL
│ └── MVC architecture with Servlets/JSP
├── RESTful Web Services
│ ├── JAX-RS (Jersey, RESTEasy)
│ ├── @Path, @GET, @POST annotations
│ ├── JSON binding with Jackson
│ ├── Exception mappers
│ └── API documentation (Swagger/OpenAPI)
├── Enterprise Integration
│ ├── JMS with ActiveMQ
│ ├── EJB basics (stateless, stateful)
│ └── JTA transactions
├── Spring Core
│ ├── IoC and Dependency Injection
│ ├── ApplicationContext and BeanFactory
│ ├── XML vs Java configuration
│ ├── Annotations (@Component, @Autowired)
│ ├── Bean scopes and lifecycle
│ └── Spring Expression Language (SpEL)
├── Spring MVC
│ ├── DispatcherServlet workflow
│ ├── Controllers (@Controller, @RestController)
│ ├── Request mapping and data binding
│ ├── Validation with Hibernate Validator
│ ├── File upload/download
│ └── Interceptors and exception handling
├── Spring Data JPA
│ ├── Hibernate ORM fundamentals
│ ├── Entity mappings (@OneToMany, @ManyToOne)
│ ├── Repository pattern (JpaRepository)
│ ├── Query methods and @Query
│ ├── Pagination and sorting
│ └── Auditing and soft deletes
├── Spring Security
│ ├── Authentication and Authorization
│ ├── UserDetailsService and JWT
│ ├── OAuth2 and SSO integration
│ ├── Method-level security
│ └── CSRF and CORS configuration
├── Spring Boot Fundamentals
│ ├── Auto-configuration
│ ├── Starters and dependencies
│ ├── application.properties/yml
│ ├── Profiles and environment-specific config
│ ├── Actuator endpoints
│ └── Spring Boot DevTools
├── Microservices Architecture
│ ├── Spring Cloud ecosystem
│ ├── Service discovery (Eureka)
│ ├── API Gateway (Spring Cloud Gateway)
│ ├── Circuit breaker (Resilience4j)
│ ├── Distributed tracing (Sleuth + Zipkin)
│ └── Configuration server (Spring Cloud Config)
├── Communication Protocols
│ ├── RESTful services with WebClient
│ ├── gRPC with Protocol Buffers
│ ├── Apache Kafka for event-driven architecture
│ └── RabbitMQ with Spring AMQP
├── Build Tools
│ ├── Maven (POM.xml, dependencies, plugins)
│ │ ├── Project structure
│ │ ├── Lifecycle phases
│ │ └── Multi-module projects
│ ├── Gradle (build.gradle, tasks)
│ │ ├── Groovy vs Kotlin DSL
│ │ └── Dependency management
├── Testing
│ ├── Unit Testing with JUnit 5
│ │ ├── @Test, assertions
│ │ ├── Parameterized tests
│ │ └── Test lifecycle hooks
│ ├── Mocking with Mockito
│ │ ├── @Mock, @InjectMocks
│ │ └── When/Then patterns
│ ├── Integration Testing
│ │ ├── @SpringBootTest
│ │ ├── TestContainers for database testing
│ │ └── @DataJpaTest, @WebMvcTest
│ └── Performance Testing (JMeter, Gatling)
├── Containerization
│ ├── Docker for Java apps
│ │ ├── Multi-stage Dockerfiles
│ │ ├── JVM optimization in containers
│ │ └── Docker Compose for local dev
│ ├── Kubernetes for Java microservices
│ │ ├── Pod and Service definitions
│ │ ├── ConfigMaps and Secrets
│ │ └── Helm charts for Java apps
├── CI/CD Pipeline
│ ├── Jenkins with Java projects
│ ├── GitHub Actions for Spring Boot
│ ├── GitLab CI with Maven/Gradle
│ └── SonarQube for code quality
├── Cloud Deployment
│ ├── AWS (Elastic Beanstalk, ECS, EKS)
│ ├── Azure (App Service, AKS)
│ ├── Google Cloud (App Engine, GKE)
│ └── Heroku / Railway / Render
├── Performance Optimization
│ ├── JVM tuning (Heap, GC algorithms)
│ ├── Profiling tools (JProfiler, VisualVM)
│ ├── Database query optimization
│ ├── Caching (Spring Cache, Redis, Hazelcast)
│ └── Connection pooling tuning
├── Security Best Practices
│ ├── OWASP Top 10 for Java
│ ├── Input validation and sanitization
│ ├── SQL/NoSQL injection prevention
│ ├── Secure coding guidelines
│ ├── Dependency scanning (OWASP Dependency Check)
│ └── Secret management (Vault, AWS Secrets Manager)
├── Java 8+ Features
│ ├── Lambda expressions and Streams
│ ├── Optional class
│ ├── Default and static methods in interfaces
│ ├── New Date/Time API
│ └── CompletableFuture
├── Java 9-21 Features
│ ├── Module system (Project Jigsaw)
│ ├── Local variable type inference (var)
│ ├── Switch expressions
│ ├── Text blocks
│ ├── Records and sealed classes
│ ├── Pattern matching
│ ├── Virtual threads (Project Loom)
│ └── Foreign Function & Memory API
├── Reactive Programming
│ ├── Project Reactor (Mono, Flux)
│ ├── Spring WebFlux
│ └── RSocket protocol
SPECIALIZED DOMAINS
├── Big Data Java
│ ├── Apache Spark with Java
│ ├── Apache Flink
│ └── Hadoop ecosystem
├── Android Development
│ ├── Android SDK with Java
│ └── Kotlin interop
├── FinTech/Enterprise
│ ├── High-performance Java
├── Low-latency systems
└── Financial messaging (FIX protocol)