cagi23 / java-certification-ocp8

Training code (and more) for "Oracle Certified Professional, Java SE 8" certification path, exam 1Z0-809

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Oracle Certified Professional, Java SE 8" training code

Join the chat at https://gitter.im/LuigiCortese/java-certification-ocp8

Examples, resources and notes for "Oracle Certified Professional, Java SE 8" (OCPJP8) certification path, exam 1Z0-809.

~~ Currentrly Work in Progress ~~

Certification Topics

The project is made up of 12 Maven modules, one for each macro topic as defined in the official list of exam topics in the Oracle website. Here the complete list:

  1. Java Class Design
  • Implement encapsulation
  • Implement inheritance including visibility modifiers and composition**[1]**
  • 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
  1. Advanced Java Class Design
  • Develop code that uses abstract classes and methods**[1]**
  • Develop code that uses final keyword**[1]**
  • 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
  1. Generics and Collections
  • Create and use a generic class**[1]**
  • Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque**[1][2][3]** objects
  • Use java.util.Comparator**[1]****[2]** and java.lang.Comparable**[1]** 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
  1. Lambda Built-in Functional Interfaces
  • Use the built-in interfaces**[1]****[2]** included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
  • Develop code that uses primitive versions of functional interfaces**[1]**
  • Develop code that uses binary versions of functional interfaces**[1]**
  • Develop code that uses the UnaryOperator interface**[1]**
  1. Java Stream API
  • Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method**[1]****[2]**
  • 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**[1]****[2]**
  • Sort a collection using Stream API**[1]**
  • Save results to a collection using the collect method and group/partition data using the Collectors class**[1]**
  • Use flatMap() methods in the Stream API
  1. Exceptions and Assertions
  • Use try-catch and throw statements**[1]**
  • Use catch, multi-catch, and finally clauses**[1]**
  • Use Autoclose resources with a try-with-resources statement**[1]**
  • Create custom exceptions and Auto-closeable resources**[1]**
  • Test invariants by using assertions**[1]**
  1. 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 LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration**[1]**
  • Work with dates and times across timezones and manage changes resulting from daylight savings**[1]** including Format date and times values
  • Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
  1. Java I/O Fundamentals
  • Read and write data from the console**[1]**
  • Use BufferedReader, BufferedWriter, File**[1], FileReader, FileWriter[1], FileInputStream, FileOutputStream[1], ObjectOutputStream, ObjectInputStream[1]****[2], DataOutputStream, DataInputStream[1], RandomAccessFile[1]** and PrintWriter**[1]** in the java.io package.
  1. Java File I/O (NIO.2)
  • Use Path interface to operate on file and directory paths**[1]**
  • Use Files class to check, read, delete, copy, move, manage metadata of a file or directory.[1]
  • Use Stream API with NIO.2**[1]**
  • Read and change file and directory attributes, focusing on the BasicFileAttributes, DosFileAttributes, and PosixFileAttributes interfaces**[1]**
  • Recursively access a directory tree using the DirectoryStream and FileVisitor interfaces
  • Find a file with the PathMatcher interface
  • Watch a directory for changes with the WatchService interface**[1]**
  1. Java Concurrency
  • Create worker threads using Runnable**[1][2][3], Callable[1]** and use an ExecutorService**[1]** 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**[1]** and classes including CyclicBarrier**[1]** and CopyOnWriteArrayList**[1]**
  • Use parallel Fork/Join**[1]****[2]** Framework
  • Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance.
  1. Building Database Applications with JDBC
  • 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**[1]** from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections
  1. Localization
  • Read and set the locale by using the Locale**[1]** object
  • Create and read a Properties**[1]** file
  • Build a resource bundle**[1]****[2]** for each locale and load a resource bundle in an application
  • Use NumberFormat, DateFormat and SimpleDateFormat classes**[1]**

About

Training code (and more) for "Oracle Certified Professional, Java SE 8" certification path, exam 1Z0-809

License:MIT License


Languages

Language:Java 100.0%