CO-84838 Java SE 8: Programming Summary Duration 5 Days Delivery Method Instructor-led (Classroom) Audience Java Developers, Developers, Java EE Developers Training Credits Yes Level Professional Technology Java SE 8 Introduction This five day Java SE 8 Programming training covers the core language features and Application Programming Interfaces (API) you will use to design object-oriented applications with Java Standard Edition 8 (Java SE 8) Platform. You can use this course to further develop your skills with the Java language and prepare for the Oracle Certified Professional, Java SE 8 Programmer Exam. Prerequisites Before attending this course, Oracle recommends that students attend the following course: D83527GC10: Java SE 8 Fundamentals Target Audience Java Developers, Developers, Java EE Developers Course Content Lesson 1: This lesson details all the topics covered throughout the duration of the course. Course goals Course objectives Audience Prerequisites Course environment Java programs Java technology groups Log In to Oracle Linux Open Terminal Windows in Oracle Linux Add the Java bin Directory to the Path Start NetBeans and Open a Project Lesson 2: Java Syntax and Class Review This lesson is a review of fundamental Java and programming concepts. It is assumed that students are familiar with concepts such as the basic structure of a Java class, program block and comments, variables, basic if-else and switch branching constructs and iteration with for and while loops.
Create simple Java classes Create primitive variables Use operators Create and manipulate strings Use if-else and switch statements Iterate with loops: while,do-while,for,enhanced for Create arrays Use Java fields, constructors, and methods Use package and import statements Creating Java Classes Lesson 3: Encapsulation and Subclassing This lesson discusses the core concepts of encapsulation, classes and subclasses. Use encapsulation in Java class design Model business problems using Java classes Make classes immutable Create and use Java subclasses Overload methods Creating Subclasses Lesson 4: Overriding Methods, Polymorphism, and Static Classes This lesson discusses the core concepts of overriding, polymorphism and static classes. Use access levels: private, protected, default, and public Override methods Use virtual method invocation Use varargs to specify variable arguments Use the instanceof operator to compare object types Use upward and downward casts Model business problems by using the static keyword Implement the singleton design pattern Use static method Override methods, including the tostring method in the Object class Create a method in a class that uses the instanceof operator to determine which object was passed to the method Overload methods Use casting Lesson 5: Abstract and Nested Classes This lesson describes the concepts of class abstraction and nested classes. Design general-purpose base classes by using abstract classes Construct abstract Java classes and subclasses Applying final keyword in Java Distinguish between top-level and nested classes Applying the Abstract Keyword Implementing Inner Class as a Helper Class Using Java Enumerations Lesson 6: Interfaces and Lambda Expressions This lesson describes Java interfaces, class inheritance and lambda expressions. Define a Java interface Choose between interface inheritance and class inheritance Extend an interface Define a Lambda Expression
Implementing an Interface Using Java Interfaces Write Lambda Expressions Lesson 7: Generics and Collections This lesson describes the concepts of Java generics and collections. Create a custom generic class Use the type inference diamond to create an object Create a collection without using generics Create a collection by using generics Implement an ArrayList Implement a TreeSet Implement a HashMap Implement a Deque Order collections Counting Part Numbers by Using HashMaps Implementing Stack using a Deque Lesson 8: Collections Streams, and Filters This lesson describes the use of Java collections, streams and filters. Describe the Builder pattern Iterate through a collection using lambda syntax Describe the Stream interface Filter a collection using lambda expressions Call an existing method using a method reference Chain multiple methods together Define pipelines in terms of lambdas and collections Update RoboCall to use Streams Mail Sales Executives using Method Chaining Mail Sales Employees over 50 Using Method Chaining Mail Male Engineering Employees Under 65 Using Method Chaining Lesson 9: Lambda Built-in Functional Interfaces This lesson explores the built-in lambda functional interfaces available in Java SE 8. List the built-in interfaces included in java.util.function Use primitive versions of base interfaces Use binary versions of base interfaces Create Consumer Lambda Expression Create a Function Lambda Expression Create a Supplier Lambda Expression Create a BiPredicate Lambda Expression Lesson 10: Lambda Operations This lesson describes the use of object maps, streams operations and lambda methods and classes. Extract data from an object using map Describe the types of stream operations Describe the Optional class Describe lazy processing Sort a stream Save results to a collection using the collect method Group and partition data using the Collectors class Using Map and Peek FindFirst and Lazy Operations Analyze Transactions with Stream Methods Perform Calculations with Primitive Streams
Sort Transactions with Comparator Collect Results with Streams Join Data with Streams Group Data with Streams Lesson 11: Exceptions and Assertions This lesson explains the purpose of Java exceptions and the techniques involved in responding to them. Define the purpose of Java exceptions Use the try and throw statements Use the catch, multi-catch, and finally clauses Autoclose resources with a try-with-resources statement Recognize common exception classes and categories Create custom exceptions and auto-closeable resources Test invariants by using assertions Catching Exceptions Extending Exception and Throwing Exception Lesson 12: Java Date/Time API This lesson describes the use of the Java Date/Time API for creating and managing date and time based events. Create and manage date-based events Create and manage time-based events Combine date and time into a single object Work with dates and times across time zones Manage changes resulting from daylight savings Define and create timestamps, periods and durations Apply formatting to local and zoned dates and times Working with local dates and times Working with dates and times across time zones Formatting Dates Lesson 13: Java I/O Fundamentals This lesson explores the the basics of performing input and output in Java applications. Describe the basics of input and output in Java Read data from and write data to the console Use I/O streams to read and write files Read and write objects by using serialization Writing a Simple Console I/O Application Serializing and Deserializing a Shopping Cart Lesson 14: Java File I/O This lesson describes the methods available for operating of files and directories. Use the Path interface to operate on file and directory paths Use the Files class to check, delete, copy, or move a file or directory Use Stream API with NIO2 Working with Files Working with Directories Lesson 15: Concurrency This lesson describes the principals of operating system task scheduling. Describe operating system task scheduling Create worker threads using Runnable and Callable Use an ExecutorService to concurrently execute tasks Identify potential threading problems
Use synchronized and concurrent atomic to manage atomicity Use monitor locks to control the order of thread execution Use the java.util.concurrent collections Using the java.util.concurrent Package Create a Network Client using the java.util.concurrent Package Lesson 16: The Fork-Join Framework This lesson describes the fundamentals of the Java Fork-Join framework. Apply the Fork-Join framework Using the Fork-Join Framework Lesson 17: Parallel Streams This lesson describes the features of parallel streams. Review the key characteristics of streams Contrast old style loop operations with streams Describe how to make a stream pipeline execute in parallel List the key assumptions needed to use a parallel pipeline Define reduction Describe why reduction requires an associative function Calculate a value using reduce Describe the process for decomposing and then merging work List the key performance considerations for parallel streams Calculate Total Sales without a Pipeline Calculate Sales Totals using Parallel Streams Calculate Sales Totals Using Parallel Streams and Reduce Lesson 18: Building Database Applications with JDBC This lesson describes how to create a Java application that connects to a database. Define the layout of the JDBC API Connect to a database by using a JDBC driver Submit queries and get results from the database Specify JDBC driver information externally Perform CRUD operations by using the JDBC API Working with the Derby Database and JDBC Lesson 19: Localization This lesson describes the features of localizing a Java application. Describe the advantages of localizing an application Define what a locale represents Read and set the locale by using the Locale object Create and read a Properties file Build a resource bundle for each locale Call a resource bundle from an application Change the locale for a resource bundle Creating a Localized Date Application Associated Certifications & Exam This course prepares students to write Exam: None Accredited to certification(s): None