Adapter Pattern
A structural pattern that allows incompatible interfaces to work together by wrapping one interface with a compatible one.
A structural pattern that allows incompatible interfaces to work together by wrapping one interface with a compatible one.
Single and multi-dimensional arrays, creation, initialization, traversal, and the Arrays utility class.
Understand Java classes as blueprints and objects as runtime instances — fields, methods, constructors, and the `this` keyword.
Hands-on code examples and step-by-step walkthroughs for Classes & Objects in Java.
Consolidated interview Q&A for the Java Collections Framework — hierarchy, List, Set, Map, Queue, iterators, sorting, and immutability — from beginner through advanced.
if/else, switch expressions, for, while, do-while, break, continue — directing program execution in Java.
Consolidated interview Q&A for Core Java covering beginner through advanced topics — variables, types, operators, control flow, arrays, strings, methods, and packages.
Quick-reference summary of Core Java concepts, APIs, and interview questions for rapid revision.
Hide internal state behind a controlled interface — access modifiers, getters/setters, and the art of designing immutable classes.
Hands-on code examples and step-by-step walkthroughs for Encapsulation in Java.
The Throwable tree in Java — how Error, Exception, and RuntimeException relate, and what checked vs. unchecked means for API contracts.
Hands-on code examples exploring the Throwable tree, checked vs. unchecked exceptions, and how to inspect exception types at runtime.
Consolidated interview Q&A for Java Exceptions — hierarchy, try/catch/finally, custom exceptions, and best practices from beginner through advanced.
A structural pattern that provides a simplified interface to a complex subsystem, hiding its internal complexity from client code.
The foundational Git concepts every developer needs — the three-area model, core commands, branching, .gitignore, and the daily workflow from init to push.
How Git stores every file, directory, and commit as content-addressable objects — blobs, trees, commits, and tags — and why this design makes Git so powerful and reliable.
Hands-on examples for Iterator, ListIterator, ConcurrentModificationException, and safe removal patterns.
How the Iterator protocol works, what ConcurrentModificationException means and how to avoid it, and how the enhanced for-each loop is compiled.
Consolidated interview Q&A for GoF design patterns in Java — creational, structural, and behavioral — covering beginner through advanced topics.
A clear breakdown of how JPA, Hibernate, Spring Data, and Spring Data JPA relate to each other — the layer model every developer must understand before working with any of them.
The foundational Java testing framework — lifecycle annotations, assertions, parameterized tests, and test organization.
Hands-on code examples and step-by-step walkthroughs for JUnit 5 lifecycle, assertions, and parameterized tests.
Java's Math and StrictMath classes — trigonometry, rounding, overflow-safe arithmetic, random numbers, and when cross-platform reproducibility matters.
Hands-on examples for rounding, overflow-safe arithmetic, trigonometry, and cross-platform reproducibility.
Method signatures, overloading, varargs, pass-by-value semantics, and recursion in Java.
Consolidated interview Q&A for Java Multithreading — threads, synchronization, wait/notify, ExecutorService, locks, atomics, thread safety, and virtual threads from beginner through advanced.
Arithmetic, relational, logical, bitwise, ternary, and instanceof operators — how Java evaluates expressions.
Package structure, the import statement, the classpath, access modifiers, and how Java locates classes.
What the Loan Application Evaluator does, why it exists, its tech stack, and how to run it locally.
What starters are, how they bundle dependencies and trigger auto-configuration, and what the most common starters wire up in a Spring Boot application.
Hands-on examples exploring what common starters wire up, how to inspect dependencies, and how to swap out components like the embedded server.
String immutability, the string pool, StringBuilder, and the most useful String APIs in Java.
What a Java thread is, how to create one, and the six lifecycle states a thread transitions through from creation to termination.
Hands-on code examples and step-by-step walkthroughs for Thread creation, lifecycle states, start/join/interrupt.
How to throw, catch, and clean up after exceptions in Java — covering multi-catch, finally guarantees, and the try-with-resources statement.
Hands-on examples for try/catch/finally, multi-catch, try-with-resources, suppressed exceptions, and finally pitfalls.
How Java converts values between types — widening, narrowing, implicit promotion, and explicit casting.
The 8 primitive types, reference types, literals, constants, and the final keyword in Java.
How Git remotes work under the hood — fetch vs. pull, push, remote-tracking branches, upstream conventions, and collaborating safely with a team via GitHub or GitLab.