Develop code that makes use of polymorphism; develop code that overrides methods; differentiate between the type of a reference and the type of an object
Determine when casting is necessary
Use super and this to access objects and constructors
Use abstract classes and interfaces
Create and manage date- and time-based events, including a combination of date and time in a single object, by using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
Work with dates and times across time zones and manage changes resulting from daylight savings, including Format date and times values
Define, create, and manage date‐and time‐based events using Instant, Period, Duration, and TemporalUnit
Read and write data from the console
Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.io package
Use the Path interface to operate on file and directory paths
Use the Files class to check, read, delete, copy, move, and manage metadata a file or directory
Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
Identify potential threading problems among deadlock, starvation, livelock, and race conditions
Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
Use parallel Fork/Join Framework
Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance
Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations
Identify the components required to connect to a database using the DriverManager class including the JDBC URL
Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections
Read and set the locale by using the Locale object
Create and read a Properties file
Build a resource bundle for each locale and load a resource bundle in an application