| Section | Weight | Objectives |
| Topic 1: Using Object-Oriented Concepts | 20% | - Inheritance, abstract classes, sealed classes, interfaces, polymorphism
- Classes, records, objects, constructors, initializers, methods, fields, encapsulation
- Enums, nested classes, local variable type inference
- Overloading, overriding, Object class methods, immutable objects
|
| Topic 2: Handling Date, Time, Text, Numeric and Boolean Values | 12% | - Use primitives and wrapper classes, evaluate expressions and apply type conversions
- Use Date-Time API: LocalDate, LocalTime, LocalDateTime, Period, Duration, Instant, ZonedDateTime
- Manipulate text, text blocks, String, StringBuilder and StringBuffer
|
| Topic 3: Concurrency and Multithreading | 10% | - Thread lifecycle, Runnable, Callable, ExecutorService, virtual threads
- Synchronization, locks, concurrent collections, thread safety
|
| Topic 4: Functional Programming and Streams | 15% | - Optional class, primitive streams
- Stream API: create, intermediate/terminal operations, parallel streams, grouping, partitioning
- Lambda expressions, functional interfaces, method references
|
| Topic 5: Working with Arrays and Collections | 12% | - Declare, instantiate, initialize, use arrays and multidimensional arrays
- Collections Framework: List, Set, Map, Deque, Queue, sorting, searching
|
| Topic 6: Handling Exceptions | 8% | - Create and use custom exceptions, throw, throws
- Exception hierarchy, try-catch-finally, multi-catch, try-with-resources
|
| Topic 7: Advanced Features and Annotations | 3% | - Annotations, built-in annotations, custom annotations
- Generics, type parameters, wildcards, type erasure
|
| Topic 8: Controlling Program Flow | 10% | - Decision constructs: if-else, switch expressions and statements, pattern matching
- Loops: for, enhanced for, while, do-while, break, continue, return
|
| Topic 9: Modules and Packaging | 5% | - Module system: module-info.java, exports, requires, provides, uses
- Create and use JAR files, modular and non-modular builds
|
| Topic 10: Java I/O and Localization | 5% | - Resource bundles, locale, formatting messages, numbers, dates
- File I/O, NIO.2, streams, readers/writers, serialization
|