Course Overview
TOPFast Track to Core Java 8 Programming for Object Oriented (OO) Experienced Developers is a five-day, comprehensive hands-on introduction to Java training course geared for developers who have prior working knowledge of object-oriented programming languages such as C# or C++. Throughout the course, students 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.
Scheduled Classes
TOP10/29/24 - GVT - Virtual Classroom - Virtual Instructor-Led | |
12/03/24 - GVT - Virtual Classroom - Virtual Instructor-Led |
Outline
TOPSession: Java: A First Look
Lesson: The Java Platform
- Java Platforms
- Lifecycle of a Java Program
- Responsibilities of JVM
- Documentation and Code Reuse
Lesson: Using the JDK
- Setting Up Environment
- Locating Class Files
- Compiling Package Classes
- Source and Class Files
- Java Applications
Lesson: The Eclipse Paradigm
- Workbench and Workspace
- Views
- Editors
- Perspectives
- Projects
Session: Getting Started with Java
Lesson: Writing a Simple Class
- Classes in Java
- Class Modifiers and Types
- Class Instance Variables
- Primitives vs. Object References
- Creating Objects
Lesson: Adding Methods to the Class
- Passing Parameters into Methods
- Returning a Value from a Method
- Overloaded Methods
- Constructors
- Optimizing Constructor Usage
Lesson: Language Statements
- Operators
- Comparison and Logical Operators
- Looping
- Continue and Break Statements
- The switch Statement
- The for-each() Loop
Lesson: Using Strings
- Strings
- String Methods
- String Equality
- StringBuffer
- StringBuilder
Lesson: Specializing in a Subclass
- Extending a Class
- Casting
- The Object Class
- Default Constructor
- Implicit Constructor Chaining
Session: Essential Java Programming
Lesson: Fields and Variables
- Instance vs. Local Variables: Usage Differences
- Data Types
- Default Values
- Block Scoping Rules
- Final and Static Fields
- Static Methods
Lesson: Using Arrays
- Arrays
- Accessing the Array
- Multidimensional Arrays
- Copying Arrays
- Variable Arguments
Lesson: Java Packages and Visibility
- Class Location of Packages
- The Package Keyword
- Importing Classes
- Executing Programs
- Java Naming Conventions
Session: Advanced Java Programming
Lesson: Inheritance and Polymorphism
- Polymorphism: The Subclasses
- Upcasting vs. Downcasting
- Calling Superclass Methods From Subclass
- The final Keyword
Lesson: Interfaces and Abstract Classes
- Separating Capability from Implementation
- Abstract Classes
- Implementing an Interface
- Abstract Classes vs. Interfaces
Lesson: Exceptions
- Exception Architecture
- Handling Multiple Exceptions
- Automatic Closure of Resources
- Creating Your Own Exceptions
- Throwing Exceptions
- Checked vs. Unchecked Exceptions
Session: Java Developer's Toolbox
Lesson: Utility Classes
- Wrapper Classes
- The Number Class
- Random Numbers
- Autoboxing/Unboxing
- The Date Class
Lesson: Enumerations and Static Imports
- Enumeration Syntax
- When You Should Use Enumerations
- Using Static Imports
- When You Should Use Static Imports
Session: Collections and Generics
Lesson: Introduction to Generics
- Generics and Subtyping
- Bounded Wildcards
- Generic Methods
- Legacy Calls To Generics
- When Generics Should Be Used
Lesson: Collections
- Characterizing Collections
- Collection Interface Hierarchy
- Iterators
- The Set Interface
- The List Interface
- Queue Interface
- Map Interfaces
- Using the Right Collection
- Collections and Multithreading
Session: Lambda Expressions; Collections and Streams
Lesson: Introduction to Lambda Expressions
- Functional vs OO Programming
- Anonymous Inner-classes
- Lambda Expression Syntax
- Functional Interfaces
- Method references
- Constructor references
Lesson: Java 8 Collection Updates
- Introduce the ConcurrentHashMap
- Lambda expressions and Collections
Lesson: Streams
- Processing 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
Lesson: Collectors
- Creating Collections from a Stream
- Group elements in the Stream
- Multi-level grouping of elements
- Partitioning Streams
Additional Topics: Time Permitting
Lesson: The new Date/Time API
- Introduce the new Date/Time API
- LocalDate, LocalDateTime, etc.
- Formatting Dates
- Working with time zones
- Manipulate date/time values
Lesson: Introduction to Annotations
- Annotations Overview
- Working with Java Annotations
Prerequisites
TOPThis is an introductory-level Java programming course, designed for experienced developers who wish to get up and running with Java, or who need to reinforce sound Java coding practices, immediately. Attendees should have a working knowledge of developing OO software applications (coming from C++, C# or other OO programming backgrounds).
Who Should Attend
TOPApplication Developers, Software Developers, Full Stack Developers.