Java SE 11 Programmer I 1Z0-815
by Dave Turner
1. Understanding Java Technology and environment
1.1. Describe Java Technology
1.1.1. Byte Code
1.1.2. JVM
1.1.3. Java API
1.1.4. JIT
1.2. Identify key features of the Java language
1.3. Describer Java Development
2. Working With Java Primitive Data Types and String APIs
2.1. Autoboxing
2.2. Casting
2.3. Promoting and demoting Primitives
2.4. Variable Scopes
2.5. Manipulate data using the StringBuilder class and its methods
2.6. Declare and initialize variables
2.7. Use local variable type inference
2.8. Create and manipulate Strings
3. Working with Java Arrays
3.1. Declare, instantiate, initialize and use a one-dimensional array
3.2. Declare, instantiate, initialize and use a two-dimensional array
4. Creating and Using Methods
4.1. Create methods and constructors with arguments and return values
4.2. Create and invoke overloaded methods
4.3. Apply the static keyword to methods and fields
5. Reusing Implementations Through Inheritance
5.1. Create and use subclasses and superclasses
5.2. Create and extend abstract classes
5.3. Enable polymorphism by overriding methods
5.4. Utilize polymorphism to cast and call methods, differentiating object type versus reference type
5.5. Distinguish overloading, overriding, and hiding
6. Handling Exceptions
6.1. Describe the advantages of Exception handling and differentiate among checked, unchecked exceptions, and Errors
6.2. Create try-catch blocks and determine how exceptions alter program flow
6.3. Create and invoke a method that throws an exception
7. Creating a Simple Java Program
7.1. Create an executable Java program with a main class
7.2. Compile and run a Java program from the command line
7.3. Create and import packages
8. Using Operators and Decision Constructs
8.1. Use Java operators including the use of parentheses to override operator precedence
8.2. Use Java control statements including if, if/else, switch
8.3. Create and use do/while, while, for and for each loops, including nested loops, use break and continue statements
9. Describing and Using Objects and Classes
9.1. Declare and instantiate Java objects
9.2. Explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
9.3. Define the structure of a Java class
9.4. Read or write to object fields
10. Applying Encapsulation
10.1. Apply access modifiers
10.2. Apply encapsulation principles to a class
11. Programming Abstractly Through Interfaces
11.1. Create and implement interfaces
11.2. Distinguish class inheritance from interface inheritance including abstract classes
11.3. Declare and use List and ArrayList instances
11.4. Understanding Lambda Expressions
12. Understanding Modules
12.1. Describe the Modular JDK
12.2. Declare modules and enable access between modules
12.3. Describe how a modular project is compiled and run
13. New Java 9 Features
13.1. Java Modules
13.1.1. jlink
13.1.2. Understand the new org, example what is java.base