Layers of Logic

Java practice · complete catalogue

235 exercises. No filler.

Every task belongs to a lesson and names the exact skill it checks. Follow the course in order, or jump straight to the topic you need to test.

132 checked tasks96 coding investigations7 quizzes97 estimated hours

Where the work happens

Code in VS Code. Answer quizzes in the lesson.

The extension opens starter files, requirements, hints, and checks beside your editor. The current preview does not submit work or sync progress; account-based sync is planned for a later release.

Open in VS Code Marketplace

1.1Why Java ExistsPhase I

1.2JVM, JRE, JDK, and Your First ProgramPhase I

2.1Variables, Types, Literals, KeywordsPhase II

2.2How Numbers Live in MemoryPhase II

2.3Type Conversion, Promotion, CastingPhase II

3.1OperatorsPhase III

3.2ConditionalsPhase III

3.3Loops and Jump StatementsPhase III

4.1ArraysPhase IV

4.2How Arrays WorkPhase IV

5.1Methods, Calls, Recursion, and OverloadingPhase V

6.1Classes, Objects, and `new`Phase VI

6.2Constructors, Chaining, `this`Phase VI

6.3Objects in Memory: Size, Copying, PassingPhase VI

6.4`static` and `final`Phase VI

7.1Encapsulation, Inheritance, Packages, and `super`Phase VII

7.2Abstraction, Polymorphism, Abstract Classes, and InterfacesPhase VII

7.3Wrapper Types, Autoboxing, and POJOsPhase VII

7.4Static Nested, Inner, Local, and Anonymous ClassesPhase VII

8.1Java I/O: Streams, Scanner, BufferedReaderPhase VIII

8.2Immutable ClassesPhase VIII

8.3The Object Class: `equals`, `hashCode`, `toString`Phase VIII

8.4EnumsPhase VIII

8.5Interface Methods and Functional InterfacesPhase VIII

9.1Strings: The Pool and ImmutabilityPhase IX

9.2String Methods and StringBuilderPhase IX

9.3GenericsPhase IX

9.4Wildcards: `extends` and `super`Phase IX

10.1The Collections FrameworkPhase X

10.2Iterable and the IteratorPhase X

10.3The Collection InterfacePhase X

10.4List: ArrayList, LinkedList, Vector, StackPhase X

10.5Set and Map: Inside HashMapPhase X

10.6Map Operations and Specialized MapsPhase X

10.7Queue, Deque, and PriorityQueuePhase X

10.8Comparable, Comparator, and SortingPhase X

11.1Lambdas and Functional InterfacesPhase XI

11.2Method References and the Four ShapesPhase XI

11.3Streams, and When the Work HappensPhase XI

11.4Stream Operations and CollectorsPhase XI

11.5OptionalPhase XI

11.6Parallel and Primitive StreamsPhase XI

12.1Exceptions, Errors, and the Stack TracePhase XII

12.2Checked, Unchecked, and Exceptions of Your OwnPhase XII

13.1JVM Memory AreasPhase XIII

13.2Reachability and Garbage CollectionPhase XIII

14.1Processes and ThreadsPhase XIV

14.2Creating Threads and Thread StatesPhase XIV

14.3Interruption and Cooperative CancellationPhase XIV

14.4Race Conditions, Atomicity, and VisibilityPhase XIV

14.5synchronized and Monitor LocksPhase XIV

14.6wait, notify, and notifyAllPhase XIV

14.7Explicit Locks and ConditionsPhase XIV

14.8Atomic Variables and Compare-and-SwapPhase XIV

14.9CAS Retry Loops and the ABA ProblemPhase XIV

14.10Executors, Thread Pools, and FuturesPhase XIV

14.11CompletableFuture and Virtual ThreadsPhase XIV