Java SE 8 Programmer II

Course Outline Outline
Introduction Intro(Java8P2).pptx
Reading Material
Setup and Software Installation Java 8 and Apache Netbeans Install and Setup Java 11 (Java 8 included), Apache NetBeans 18
MySQL Install MySQL
ArgoUML 0.34
DAYTopicsSharing
1
  • Implement encapsulation
  • Implement inheritance including visibility modifiers and composition
  • Implement polymorphism
  • Override hasCode, equals, and toString methods from Object class
  • Create and use singleton classes and immutable classes
  • Develop code that uses the static keyword on initialize blocks, variables, methods, and classes
  • Develop code that uses abstract classes and methods
  • Develop code that uses the final
  • Create inner classes including static inner classes, local classes, nested classes, and anonymous innter classes
  • Use enumerated types including methods, and constructors in an enum type
  • Develop code that declares, implements and/or extends interfaces and use the @Override annotation
  • Create and use lambda expressions
  • Generics and Collections
  • 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 the Stream interface and the Stream pipeline
  • Filter a collection by using lambda expressions
  • Use method references with streams
2
  • Use the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
  • 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
  • Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
  • 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 flatMap() methods in the Stream API
  • Use try-catch and throws statements
  • Use catch, multi-catch, and finally clauses
  • Use autoclose resources with a try-with-resources statement
  • Create custom exceptions and autocloseable resources
  • Test invariants by using assertions
3
  • Describe inheritance and its benefits
  • 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
  • Use Stream API with NIO.2
4
  • Write code that declares, implements and/or extends interfaces
  • Choose between interface inheritance and class inheritance
  • Develop code that implements "is-a" and/or "has-a" relationships
  • Apply object composition principles
  • Design a class using the Singleton design pattern
  • Write code to implement the DAO pattern
  • Design and create objects using a factory, and use factories from the API
  • Search, parse and build strings
  • Search, parse, and replace strings by using regular expressions
  • Use string formatting
5
  • 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

Usefule Links
Official Exam Site https://education.oracle.com/java-se-8-programmer-ii/pexam_1Z0-809
Java 8 Programmer II Study Guide https://ocpj8.javastudyguide.com/index.html

Recommanded Books
TitleOCP Java SE 8 Programmer II Exam Guide (Exam 1Z0-809)
ISBN978-1-260-11737-0
AuthorKathy Sierra, Bert Bates, Elisabeth Robson
Year2018
Publisher McGraw-Hill Education
TitleJava How to Program. Early objects
ISBN978-0-134-74335-6
AuthorDeitel, Harvey M. Deitel, Paul J
Year2017
Publisher Pearson
TitleJava 8 in Action-Lambdas, Streams and Functional-Style Programming
ISBN978-1-617-29199-9
AuthorRaoul-Gabriel Urma, Mario Fusco, Alan Mycroft
Year2015
Publisher Manning