Java Programming 2
Course Overview
The Java Programming 2 course is closely aligned with the Oracle Java SE 8 Programmer II exam.This course focuses on the core language features and Application Programming Interfaces (APIs) you will use to design effective object-oriented and functional programming applications with the Java Standard Edition 8 Platform.
This course will teach you how to design and develop robust Java code that is easy to test and maintain and can be integrated into multiple applications.
The most important new topics introduced in Java SE 8 are covered, such as Functional Programming and Stream API, that allow you to use the most up to date techniques in your code.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
Course Objectives
-
- This course aims to provide the delegate with the knowledge to be able to produce robust, scalable, and testable Java code that may be integrated into enterprise applications and that go beyond the core elements of the language exploiting design patterns, functional programming, collections, date and time, input/output, concurrency, and JDBC. The course further aims to prepare the delegate to sit the Oracle Java SE 8 Programmer II exam.
Prerequisites
-
- Delegates attending this course should have experience programming with an object-oriented language, ideally Java. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 course.
Course Certification
The Java Programming 2 course helps delegates prepare for the following exam:Oracle Certified Professional (OCP) Java SE8 Programmer II exam (1Z0-809)
Attending this course will help delegates gain many of the skills and product knowledge requirements as outlined in the exam objectives. Studying this course and its associated reference materials can form part of the preparation to achieve certification. Experience, practice, self-study and aptitude are also key requirements for exam success.
Before taking any exam, ensure you have the recommended experience. The Oracle website lists all exam requirements and these are updated regularly.
Exams are not included as part of the course.
Target Audience for this Course
-
- The Java Programming 2 course is aimed at staff and consultants working as part of a Java development team to develop high-quality robust software. Roles include Programmers, Designers, Architects, Testers and anyone who needs a good understanding of the use of the Java language and infrastructure.
Skills Gained from this Training
-
- Implementing code using inheritance and polymorphism
- Using design patterns to ensure robust design of classes
- Overriding key methods of the Object class to provide interoperability with collections and other APIs
- Understanding and using Generics within existing classes and create new Generic classes
- Creating and using collections including sets, maps and queues
- Selecting and incorporating standard functional interfaces in code
- Using Stream API to generate, filter, process and reduce stream data
- Writing Lambda expressions for use within code including with functional interfaces
- Declaring try-with-resources blocks and using AutoCloseable classes
- Working with Java SE8 Date/Time API classes
- Reading and writing data from/to the Console
- Managing files and directories
- Writing concurrent code and using Concurrent API
- Using parallel streams
- Building database applications with JDBC
Course Content
-
DAY 1
Course Introduction
Administration and Course Materials
Course Structure and Agenda
Delegate and Trainer Introductions
Session 1: JAVA CLASS DESIGN
Review of Core Java Class Design Principles
The instanceof operator
Virtual Method Invocation
@Override Annotation
Overriding equals, hashCode and toString
Enums
Nested Classes
Session 2: JAVA DESIGN PATTERNS
Designing Interfaces
Functional Programming
Implementing Polymorphism
Java Design Principles
Singleton Pattern
Immutable Objects
Builder Pattern
Factory Pattern -
DAY 2
Session 3: GENERICS AND COLLECTIONS
Review of Array and ArrayList and Diamond Operator
Generic Classes, Interfaces and Methods
Lists, Sets, Maps and Queues
Comparable and Comparator
Searching and Sorting
Method References
Conditional Removal of Elements
Java Map APIs
Session 4: FUNCTIONAL PROGRAMMING AND STREAM API
Using Variables in Lambdas
Built-In Functional Interfaces
Optional Objects
Creating Stream Sources
Terminal and Intermediate Operations
Constructing a Pipeline
Primitive Streams -
DAY 3
Session 4 (Continued): FUNCTIONAL PROGRAMMING AND STREAM API
Functional Interfaces for Primitives
Linking Streams to Underlying Data
Chaining Optionals
Collecting Results
Session 5: DATES, STRINGS AND LOCALIZATION
Date and Time API Classes
Creating Dates and Times
Manipulating Dates and Times
Periods
Durations
Daylight Saving Time
String Class Functionality
Internationalization and Localization
Locales
Resource Bundles
Formatting Numbers
Formatting Dates and Times
Session 6: EXCEPTIONS AND ASSERTIONS
Exceptions Terminology
Categories of Exceptions
Try Statement
Throw Statement
Throws Statement
Custom Exceptions
Multi-Catch Blocks
Try-With-Resources
AutoCloseable
Suppressed Exceptions
Rethrowing Exceptions
The assert Statement
Enabling Assertions -
DAY 4
Session 7: CONCURRENCY
Thread Types and Concurrency
Runnable Interface
Creating Threads
Polling with Sleep
Using ExecutorService
Thread Pools
Synchronizing Data Access
Atomic Classes
Synchronized Blocks and Methods
Concurrent Collections
Memory Consistency Errors
Parallel Streams
Processing Parallel Reductions
CyclicBarrier Class
Fork/Join Framework
Threading Problems and Race Conditions
Session 8: IO
Conceptualizing the File System
File Class
IO Streams
FileInputStream and FileOutputStream -
DAY 5
Session 8 (Continued): IO
FileReader and FileWriter
ObjectInputStream and ObjectOutputStream
Serializing and Deserializing Objects
PrintStream and PrintWriter
Console
Session 9: NIO.2
Path Class
Interacting with Paths and Files
File Attributes
File Attribute View Classes
Directory Walking
Legacy File vs. NIO.2 Methods
Session 10: JDBC
Relational Databases and SQL
JDBC Interfaces
Connecting to a Database
Statements, ResultSet Types and Concurrency Modes
Executing Statements
Getting Data from a ResultSet
Closing Database Resources
Dealing with Exceptions
Included with this course
-
- Comprehensive course materials and exercises
Public Scheduled Course Dates
Private Training
-
Public Dates
Prices per delegate. All prices exclude VAT.18 Aug - 22 Aug 2025Virtual£219506 Oct - 10 Oct 2025Virtual£219524 Nov - 28 Nov 2025Virtual£219519 Jan - 23 Jan 2026Virtual£219502 Mar - 06 Mar 2026Virtual£2195Private Courses
Private courseFlexible date and locationPlease quote for prices -
Java Programming 2 Course Options
Please contact us to discuss options for this coursePublic ScheduledPublic ScheduledFixed course content, fixed date, fixed location, fixed length, multiple organisations - All you need to do is choose which course you would like to attend and contact us to book!PrivatePrivateFlexible course content, flexible training date(s), flexible location(s), variable course length, private to your organisation - Courses can be held at one of our training venues or at another location convenient to you. Training can be set over a number of days or weeks to allow for practice time between training sessions.BespokeBespokeBespoke private training can be based on an existing course or a number of lessons taken from several courses, we can also write bespoke courses for you based on your in-house systems or development program.VirtualVirtualThese courses can be attended from anywhere.
- Virtual Training
J.H. Egger UK, Excel Level 2
G.T. Public course, Microsoft Power BI Desktop
S.B. THARSUS VISION LTD, Excel Level 2
J.G. Jelf Insurance Brokers, Excel Analysing and Presenting Data with Dashboards and Pivot Tables
E.J. AESICA Pharmaceuticals, Excel Level 1
J.B. Tharsus, Excel Level 1
L.O. Labour Party, Excel Level 2
S. , Excel Level 1
Public Scheduled Courses
Private Courses
Oakville, 14 Durham Road West, Bowburn, Durham, DH6 5AU
0191 377 8377
ittrainingsolutions.co.uk
Printed:7/14/2025 3:11:59 AM