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