JAVA SE 8 Programming

Introduction

This Java Programming training covers the core Application Programming Interfaces (API) you'll use to design object-oriented applications with Java. Instructors will teach you how to write database programs with JDBC.

Audience

This course is intended for:
 
  • Developer
  • J2EE Developer
  • Java Developer
  • Java EE Developer
  • Trainer in the field

Prerequisites

Before attending this course, participants should:
 
  • Understand object-oriented principles
  • Have basic understanding of database concepts and SQL syntax
  • Have completed the Java SE 7 Fundamentals course, or experience with the Java language - can create, compile and execute programs
  • Have experience with at least one programming language

At course completion

After completing this course, participants will be able to:
 
  • Create Java technology applications with the latest JDK 8 Technology and the NetBeans Integrated Development Environment (IDE)
  • Enhance object-oriented thinking skills using design patterns and best practices
  • Identify good practices in the use of the language to create robust Java applications
  • Manipulate files, directories and file systems
  • Write database applications using standard SQL queries through JDBC
  • Create high-performance, multi-threaded applications
  • Create classes that subclass other classes, extend abstract classes and program with interfaces
  • Use Lambda Expressions
  • Use Default methods
  • Use Repeating Annotations
  • Use the new Date-Time Package
  • Properly use exceptions and the Collections framework
  • Develop applications that manipulate files, directories and file systems

Exams

This course prepare to exams 1z0-808 et 1z0-809

Course outline

Module  1: Java Platform Overview
  • Lesson 1: Defining how the Java language achieves platform independence
  • Lesson 2: Differentiating between the Java ME, Java SE, and Java EE Platforms
  • Lesson 3: Evaluating Java libraries, middle-ware, and database options
  • Lesson 4: Defining how the Java language continues to evolve
Module  2: Java Syntax and Class Review
  • Lesson 1: Creating simple Java classes
  • Lesson 2: Creating primitive variables
  • Lesson 3: Using operators
  • Lesson 4: Creating and manipulate strings
  • Lesson 5: Using if-else and switch statements
  • Lesson 6: Iterating with loops: while,do-while,for,enhanced for
  • Lesson 7: Creating arrays
  • Lesson 8: Using Java fields, constructors, and methods
Module  3: Encapsulation and Subclassing
  • Lesson 1: Using encapsulation in Java class design
  • Lesson 2: Modeling business problems using Java classes
  • Lesson 3: Making classes immutable
  • Lesson 4: Creating and use Java subclasses
  • Lesson 5: Overloading methods
Module  4: Overriding Methods, Polymorphism, and Static Classes
  • Lesson 1: Using access levels: private, protected, default, and public.
  • Lesson 2: Overriding methods
  • Lesson 3: Using virtual method invocation
  • Lesson 4: Using varargs to specify variable arguments
  • Lesson 5: Using the instanceof operator to compare object types
  • Lesson 6: Using upward and downward casts
  • Lesson 7: Modeling business problems by using the static keyword
  • Lesson 8: Implementing the singleton design pattern
Module  5: Abstract and Nested Classes
  • Lesson 1  Designing general-purpose base classes by using abstract classes
  • Lesson 2: Constructing abstract Java classes and subclasses
  • Lesson 3: Applying final keyword in Java
  • Lesson 4: Distinguish between top-level and nested classes
Module  6: Interfaces and Lambda Expressions
  • Lesson 1: Defining a Java interface
  • Lesson 2: Choosing between interface inheritance and class inheritance
  • Lesson 3: Extending an interface
  • Lesson 4: Defaulting methods
  • Lesson 5: Anonymous inner classes
  • Lesson 6: Defining a Lambda Expression
Module  7: Collections and Generics
  • Lesson 1: Creating a custom generic class
  • Lesson 2: Using the type inference diamond to create an object
  • Lesson 3: Creating a collection by using generics
  • Lesson 4: Implementing an ArrayList
  • Lesson 5: Implementing a TreeSet
  • Lesson 6: Implementing a HashM ap
  • Lesson 7: Implementing a Deque
  • Lesson 8: Ordering collections
Module  8: Collections Streams, and Filters
  • Lesson 1: Describing the Builder pattern
  • Lesson 2: Iterating through a collection using lambda syntax
  • Lesson 3: Describing the Stream interface
  • Lesson 4: Filtering a collection using lambda expressions
  • Lesson 5: Calling an existing method using a method reference
  • Lesson 6: Chaining multiple methods together
  • Lesson 7: Defining pipelines in terms of lambdas and collections
Module  9: Lambda Built-in Functional Interfaces
  • Lesson1: Listing the built-in interfaces included in java.util.function
  • Lesson 2: Core interfaces - Predicate, Consumer, Function, Supplier
  • Lesson 3: Using primitive versions of base interfaces
  • Lesson 4: Using binary versions of base interfaces
Module  10: Lambda Operations
  • Lesson 1: Extracting data from an object using map
  • Lesson 2: Describing the types of stream operations
  • Lesson 3: Describing the Optional class
  • Lesson 4: Describing lazy processing
  • Lesson 5: Sorting a stream
  • Lesson 6: Saving results to a collection using the collect method
  • Lesson 7: Grouping and partition data using the Collectors class
Module  11: Exceptions and Assertions
  • Lesson 1: Defining the purpose of Java exceptions
  • Lesson 2: Using the try and throw statements
  • Lesson 3: Using the catch, multi-catch, and finally clauses
  • Lesson 4: Autoclose resources with a try-with-resources statement
  • Lesson 5: Recognizing common exception classes and categories
  • Lesson 6: Creating custom exceptions
  • Lesson 7: Testing invariants by using assertions
Module  12: Java Date/Time API
  • Lesson 1: Creating and manage date-based events
  • Lesson 2: Creating and manage time-based events
  • Lesson 3: Combining date and time into a single object
  • Lesson 4: Working with dates and times across time zones
  • Lesson 5: Managing changes resulting from daylight savings
  • Lesson 6: Defining and create timestamps, periods and durations
  • Lesson 7: Applying formatting to local and zoned dates and times
Module  13: I/O Fundamentals
  • Lesson 1: Describing the basics of input and output in Java
  • Lesson 2: Read and write data from the console
  • Lesson 3: Using streams to read and write files
  • Lesson 4: Writing and read objects using serialization
Module  14: File I/O (NIO.2)
  • Using the Path interface to operate on file and directory paths
  • Using the Files class to check, delete, copy, or move a file or directory
  • Using Stream API with NIO2
Module  15: Concurrency
  • Lesson 1: Describing operating system task scheduling
  • Lesson 2: Creating worker threads using Runnable and Callable
  • Lesson 3: Using an ExecutorService to concurrently execute tasks
  • Lesson 4: Identifying potential threading problems
  • Lesson 5: Using synchronized and concurrent atomic to manage atomicity
  • Lesson 6: Using monitor locks to control the order of thread execution
  • Lesson 7: Using the java.util.concurrent collections
Module  16: The Fork-Join Framework
  • Lesson 1: Parallelism
  • Lesson 2: The need for Fork-Join
  • Lesson 3: RecursiveTask
Module  17: Parallel Streams
  • Lesson 1: Reviewing the key characteristics of streams
  • Lesson 2: Describing how to make a stream pipeline execute in parallel
  • Lesson 3: List the key assumptions needed to use a parallel pipeline
  • Lesson 4: Defining reduction
  • Lesson 5: Describing why reduction requires an associative function
  • Lesson 6: Calculating a value using reduce
  • Lesson 7: Describing the process for decomposing and then merging work
  • Lesson 8: Listing the key performance considerations for parallel streams
Module  18: Database Applications with JDBC
  • Lesson 1: Defining the layout of the JDBC API
  • Lesson 2: Connecting to a database by using a JDBC driver
  • Lesson 3: Submitting queries and get results from the database
  • Lesson 4: Specifying JDBC driver information externally
  • Lesson 5: Performing CRUD operations using the JDBC API
Module  19: Localization
  • Lesson 1: Describing the advantages of localizing an application
  • Lesson 2: Defining what a locale represents
  • Lesson 3: Read and set the locale by using the Locale object
  • Lesson 4: Building a resource bundle for each locale
  • Lesson 5: Calling a resource bundle from an application
  • Lesson 6: Changing the locale for a resource bundle

Cursus de certification

1z0-808 & 1z0-809

Lab

During the course participants are encouraged to actively participate in the learning experience by running example files during lectures and performing coding challenges during labs. Each lab session allows you to compare your solution to the instructor's.

Formations complémentaires

JavaW, EJB