Java Class Design
- Implement Encapsulation
- Implement inheritance including visibility modifiers and composition
- Implement polymorphism
- Override hashcode, Equals, and ToString methods from Object class
- Create and use singleton classes and immutable classes
- Develop code that uses static keyword on initialize blocks, variables, methods, and classes
Advanced Java Class Design
- Develop code that uses abstract classes and methods
- Develop code that uses final keyword
- Create inner classes including static inner class, local class, nested class, and anonymous inner class
- Use enumerated types including methods, and constructors in an enum type
- Develop code that declares, implements and/or extends interfaces and use the atoverride annotation.
- Create and use Lambda expressions
Generics and collections
- Create and use a generic class
- Create and use ArrayList, TreeSet, TreeMap, and Arraydeque objects
- Use Java.util.Comparator and Java.lang.Comparable interfaces
- Collections Streams and Filters
- Iterate using ForEach methods of Streams and List
- Describe Stream interface and stream pipeline
- Filter a collection by using lambda expressions
- Use method references with Streams
LAMBDA Built-in functional Interfaces
- Use the built-in interfaces included in the Java.util.function package such as predicate, Consumer, function, and Supplie R
- Develop code that uses primitive versions of functional interfaces
- Develop code that uses binary versions of functional interfaces
- Develop code that uses the Unaryoperator interface
Java Stream API
- Develop code to extract data from an object using Peek () and map () methods including primitive versions of the map () Metho D
- Search for data by using search methods of the Stream classes including FindFirst, Findany, AnyMatch, Allmatch, Nonematch
- Develop code that uses the Optional class
- Develop code that uses Stream data methods and calculation methods
- Sort a collection using Stream API
- Save results to a collection using the Collect method and group/partition data using the Collectors class
- Use of merge () and FlatMap () methods of the Stream API
Exceptions and assertions
- Use Try-catch and throw statements
- Use catch, multi-catch, and finally clauses
- Use Autoclose resources with a try-with-resources statement
- Create custom exceptions and auto-closeable resources
- Test invariants by using assertions
Use Java SE 8 date/time API
- Create and manage date-based and time-based events including a combination of date and time into a single object using Loc Aldate, LocalTime, LocalDateTime, Instant, Period, and Duration
- Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and Ti MES values
- Define and create and manage date-based and time-based events using Instant, Period, Duration, and Temporalunit
Java I/O Fundamentals
- Read and write data from the console
- Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the java.iopackage.
Java File I/O (nio.2)
- Use Path interface to operate on file and directory paths
- Use Files class to check, read, delete, copy, move, manage metadata of a file or directory
- Use Stream API with nio.2
Java Concurrency
- Create worker threads using Runnable, callable and use a 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.
Building Database applications with JDBC
- Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet I Nterfaces 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
Localization
- Describe the advantages of localizing an application
- 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
Basic Knowledge (2)-Java SE 8 Programmer II (1z0-809)