Foundation
Java Fundamentals
The language as the JVM sees it.
Not "hello world" — how Java actually executes: compilation to bytecode, primitives versus references, the stack and the heap, strings, control flow, and the conventions a codebase is judged by.
16 lessons written3 modules~3h reading✓ interview set✓ quiz
After this course you can
- Explain what javac produces, what the JVM does with it, and where the JIT fits
- Choose between primitives, wrappers and references and know what each costs
- Read a stack trace and know which frame is yours
- Write methods that are safe to call: immutability, null discipline, equals and hashCode
Curriculum
16 lessons · outlined lessons show their plan01
JDK, JRE and JVMWhat each one is, what javac emits, and what the JVM does with a .class file before your first line runs.12 minBytecode and the JITWhy Java is neither interpreted nor compiled, what tiered compilation does, and why the second minute is faster than the first.12 minStack, heap and referencesWhere a local lives, where an object lives, what a reference is, and why passing an object "by reference" is a misreading.15 minHow Java runs
02
Primitives and wrappersEight primitives and how their literals are written, their boxed twins, autoboxing, the Integer cache, and the NullPointerException that hides in an unboxing.15 minArraysFixed length, covariant, and the one collection the language has syntax for — declaration, multi-dimensional shape, Arrays utilities, and when an int[] beats a List<Integer>.11 minStringsImmutability, what a String is on the heap, the pool, StringBuilder, formatting — and why == on strings is a bug that passes tests.12 minRegular expressionsPattern and Matcher, groups, greedy versus reluctant, and the catastrophic backtracking that turns a validator into an outage.12 minequals, hashCode and identityThe contract, what breaks when you honour half of it, and how a HashSet loses your object.11 minEnumsA fixed set of instances the compiler can check — with fields, methods and behaviour, plus EnumMap and EnumSet, which are faster than you expect.11 minTypes and values
03
Classes, methods and blocksThe four things every Java program is made of, why one file can produce three class files, and the block that decides what exists.12 minLocals, var and finalFields get a default and locals do not — that is a compile error, and a good one. Plus what `final` actually freezes.11 minReading inputThe Scanner line that vanishes, and BufferedReader beating it twelve times on 300,000 integers.9 minOperators and expressionsEvery operator in one table, then precedence, the integer rules that surprise people, short-circuiting, the ternary's typing, and the bitwise operators a backend engineer actually meets.12 minControl flow and the switchif, loops and the jump statements, the classic switch — fall-through and what it compiles to — and the Java 14 switch expression, where a missing case stops the build.15 minMethods, parameters and varargsA declaration part by part, overloading resolution, varargs, pass-by-value for references, and the defensive copy a public method owes its caller.13 minPackages, access and conventionsAccess modifiers as an API decision, package-private as a design tool, static imports, and the naming a reviewer expects.11 min