| Section | Weight | Objectives |
| Topic 1: Arrays and Collections | 12-18% | - Sort and search collections and arrays
- Create and manipulate arrays, lists, sets, maps, queues and deques
- Use generics, wildcards and diamond notation
|
| Topic 2: Secure Coding and Localization | 5-8% | - Use Locale, ResourceBundle and formatting APIs for internationalization
- Apply secure coding practices, input validation and data protection
|
| Topic 3: Java Platform Module System | 8-12% | - Use automatic modules and unnamed modules
- Define modules, module declarations, requires, exports, opens, uses and provides
- Compile, package and run modular applications
|
| Topic 4: JDBC Database Access | 5-8% | - Process result sets, manage transactions and resources
- Connect to databases, execute queries and updates
|
| Topic 5: Java Object-Oriented Approach | 15-20% | - Use local variable type inference
- Declare and instantiate classes, interfaces, abstract classes and nested classes
- Apply encapsulation, inheritance, polymorphism and abstraction
- Overload and override methods, use constructors and initializers
|
| Topic 6: Working with Java Data Types | 10-15% | - Handle text using String, StringBuilder and StringBuffer classes
- Use primitives and wrapper classes, including operators, parentheses, type promotion and casting
- Manipulate numeric values and formatting
|
| Topic 7: Exception Handling and Assertions | 8-12% | - Use try-catch-finally, try-with-resources, throw and throws
- Use assertions appropriately
- Create custom exceptions and use standard exceptions
|
| Topic 8: Java I/O and NIO.2 | 8-12% | - Implement serialization and deserialization
- Manage files, directories and file attributes with java.nio.file API
- Read and write data using streams, readers, writers and channels
|
| Topic 9: Concurrency | 8-12% | - Use synchronization, locks, atomic variables and concurrent collections
- Create and manage threads, use ExecutorService, Callable and Future
- Use parallel streams and CompletableFuture
|
| Topic 10: Lambda Expressions and Streams | 12-18% | - Use Optional class and primitive type streams
- Define and use functional interfaces and lambda expressions
- Create and use stream pipelines, including intermediate and terminal operations
|