ReviseAlgo Logo

Methods

8 Topics
1

Method Declaration

Deconstruct method declarations, signatures, access modifiers, and specific Java modifiers like strictfp or native.

Evaluates signature parameters vs return type constraints, modifier combinations, throws clause inheritance limits, and access modifiers.
2

Method Parameters

Demystify Java's strict Pass-By-Value model for primitives and object references, Varargs, and SafeVarargs warnings.

Tests parameter reassignments vs mutations, varargs array conversions, heap pollution, and memory frame tracking.
3

Return Types

Analyze method exit protocols, return value type promotions, Covariant Returns in overriding, and wrapper unboxing NPE traps.

Focuses on covariant returns compatibility, return flow controls, autoboxing unboxing bugs, and final return assignments.
4

Method Overloading

Analyze compile-time polymorphism, overload signatures, and the compiler's strict resolution precedence rules.

Focuses on static compiler binding, precedence (Widening vs Boxing vs Varargs), and compile-time ambiguity errors.
5

Recursion

Analyze stack frames, base case design, StackOverflowError limits, and HotSpot's lack of Tail Call Optimization.

Focuses on stack frame allocations, StackOverflowError tracking, TCO limits, and converting recursion to iteration.
6

Static Methods

Analyze class-scope executions, access restrictions to instance variables, static imports, and method hiding rules.

Focuses on static vs instance bindings, method hiding mechanics, inheritance limits, and static imports usage.
7

final Methods

Explore overriding prevention, JIT compiler optimizations like virtual method inlining, and design inheritance boundaries.

Focuses on extension control patterns, JIT compiler devirtualization, and redundant final declarations.
8

Method References

Master double-colon receivers, arbitrary type resolutions, constructor references, and invokedynamic metafactories.

Focuses on double colon (::) mappings, binding categories, invokedynamic mechanics, and constructor references.