1001 - Java 8 Programming for OO Experienced Developers

1001 - Java 8 Programming for OO Experienced Developers

Length : 5 days

This course is geared for developers who have prior working knowledge of object-oriented programming languages such as C++. You will learn the best practices for writing great object-oriented programs in Java 8, using sound development techniques, new improved features for better performance, and new capabilities for addressing rapid application development. In addition to the normal exercises that are liberally sprinkled throughout the course, there is a case study that covers the entire spectrum from use cases to object-oriented design to implemented classes. This case study supplements the course and can be used during and after the course as a reference and a tool for reviewing and practicing what was learned in class.

Who Should Attend

Experienced developers who wish to get up and running with Java or who need to reinforce sound Java coding practices, immediately

What You'll Learn

  • Fundamentals of the Java language and its importance, uses, strengths and weaknesses
  • Basics of the Java language and how it relates to OO programming and the Object Model
  • Use Java multi-threading and exception handling features
  • Use classes, inheritance and polymorphism
  • Use collections, generics, autoboxing, and enumerations including new Java features and capabilities
  • Work with the logging API and framework that is part of the Java platform
  • Use the JDBC API for database access
  • Use Java for networking and communication applications
  • Work with annotations
  • Work with the classes in the concurrent package
  • Outline the options for GUI applications in Java
  • Take advantage of the Java tooling that is available with the programming environment being used in the class
  • The new Date API
  • Lambda Expressions
  • Streams
  • Collectors

Course outline

1. Java - A First Look
The Java PlatformJava Platforms
Lifecycle of a Java Program
Responsibilities of JVM
Documentation and Code Reuse

Lesson: Using the JDKSetting Up Environment
Locating Class Files
Compiling Package Classes
Source and Class Files
Java Applications

2. Getting Started with Java
Writing a Simple ClassClasses in Java
Class Modifiers and Types
Class Instance Variables
Primitives vs. Object References
Creating Objects

Adding Methods to the ClassPassing Parameters Into Methods
Returning a Value From a Method
Overloaded Methods
Optimizing Constructor Usage

Language StatementsOperators
Comparison and Logical Operators
Continue and Break Statements
The switch Statement
The for-each() Loop

Using StringsStrings
String Methods
String Equality

Specializing in a SubclassExtending a Class
The Object Class
Default Constructor
Implicit Constructor Chaining

3. Essential Java Programming
Fields and VariablesInstance vs. Local Variables: Usage Differences
Data Types
Default Values
Block Scoping Rules
Final and Static Fields
Static Methods

Using ArraysArrays
Accessing the Array
Multidimensional Arrays
Copying Arrays
Variable Arguments

Java Packages and VisibilityClass Location of Packages
The Package Keyword
Importing Classes
Executing Programs
Java Naming Conventions

4. Advanced Java Programming
Inheritance and PolymorphismPolymorphism: The Subclasses
Upcasting vs. Downcasting
Calling Superclass Methods From Subclass
The final Keyword

Interfaces and Abstract ClassesSeparating Capability from Implementation
Abstract Classes
Implementing an Interface
Abstract Classes vs. Interfaces

ExceptionsException Architecture
Handling Multiple Exceptions
Automatic Closure of Resources
Creating Your Own Exceptions
Throwing Exceptions
Checked vs. Unchecked Exceptions

5. Java Developer\'s Toolbox
Utility ClassesWrapper Classes
The Number Class
Random Numbers
The Date Class

Enumerations and Static ImportsEnumeration Syntax
When You Should Use Enumerations
Using Static Imports
When You Should Use Static Imports

The Date/Time APIThe Date Class
Introduce the new Date/Time API
LocalDate, LocalDateTime, etc.
Formatting Dates
Working with time zones
Manipulate date/time values

6. Collections and Generics
Introduction to GenericsGenerics and Subtyping
Bounded Wildcards
Generic Methods
Legacy Calls To Generics
When Generics Should Be Used

CollectionsCharacterizing Collections
Collection Interface Hierarchy
The Set Interface
The List Interface
Queue Interface
Map Interfaces
Using the Right Collection
Collections and Multithreading

7. Java Lambda Expressions and Streams
Introduction to Lambda ExpressionsFunctional vs OO Programming
Anonymous Inner-classes
Lambda Expression Syntax
Functional Interfaces
Method references
Constructor references

StreamsProcessing Collections of data
The Stream interface
Reduction and Parallelism
Filtering collection data
Sorting Collection data
Map collection data
Find elements in Stream
Numeric Streams
Create infinite Streams
Sources for using Streams

CollectorsCreating Collections from a Stream
Group elements in the Stream
Multi-level grouping of elements
Partitioning Streams

8. Multithreading and Concurrency
MultithreadingPrinciples of Multithreading
Creating a Threaded Class
Basic Features of the Thread Class
Thread Scheduling
Thread Synchronization

Concurrent JavaConcurrent Locks are Explicit and Flexible
Executor Interfaces Provide Thread Management
Challenges for Concurrent Use of Collections
Concurrent Collections
Atomic Variables Avoid

9. Java I/O
File System AccessThe File Class
File Utility Methods

Java I/OThe Java I/O Mechanism
Subclasses Accessing Real Data
Filter Classes
New File IO - NIO
NIO Overview

10. Java Application Development
Introduction to AnnotationsAnnotations Overview
Working with Java Annotations

Java Data Access JDBC APIConnecting to the Database
Statement and PreparedStatement
Executing Inserts, Updates, and Deletes
Controlling Transactions and Concurrency
Connecting to the Database
Statement and PreparedStatement
Executing Inserts, Updates, and Deletes
Controlling Transactions and Concurrency


Class Dates:

Classes being scheduled,
call 1-800-755-0142 or

Contact Us with your request.

On Site Class Available

ExpertONE Learning Solutions Provider Microsoft Certified Partner Logo GSA Advantage