Java Programming 2

Java Programming 2

5 days @ £1,795.00 exc. VAT 

Course Code: JAVA2

25 Years - The IT Training specialist

Upcoming Scheduled Events - next 12 months

Location Start Date Spaces Book
London 09 Jul 2018 Spaces StayAhead - Course Running Book
London 20 Aug 2018 Spaces StayAhead - Course Running Book
London 08 Oct 2018 Spaces StayAhead - Course Running Book
London 19 Nov 2018 Spaces StayAhead - Course Running Book
View Further Dates

Location Start Date Spaces Book
London 07 Jan 2019 Spaces StayAhead - Course Running Book
London 18 Feb 2019 Spaces StayAhead - Course Running Book
London 25 Mar 2019 Spaces StayAhead - Course Running Book
London 13 May 2019 Spaces StayAhead - Course Running Book
Virtual Events StayAhead Virtual Courses available You can attend your training virtually using the London dates shown above. Please contact us for more details on our Virtual training options or to discuss specific Virtual course dates to meet your requirements.

S7

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.

The delegate will learn 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.

The delegate will learn and acquire skills as follows:

  • 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

Who will the Course Benefit?

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.

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.

Examinations

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.

Requirements

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.

Pre-Requisite Courses

Follow-On Courses

Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Java Programming 2 Training Course

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

Java Programming 2 Training Course

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

Java Programming 2 Training Course

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 LOCALISATION

  • Date and Time API Classes
  • Creating Dates and Times
  • Manipulating Dates and Times
  • Periods
  • Durations
  • Daylight Saving Time
  • String Class Functionality
  • Internationalisation and Localisation
  • 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

Java Programming 2 Training Course

Session 7: CONCURRENCY

  • Thread Types and Concurrency
  • Runnable Interface
  • Creating Threads
  • Polling with Sleep
  • Using ExecutorService
  • Thread Pools
  • Synchronising Data Access
  • Atomic Classes
  • Synchronised 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

  • Conceptualising the File System
  • File Class
  • IO Streams
  • FileInputStream and FileOutputStream

Java Programming 2 Training Course

Session 8 (Continued): IO

  • FileReader and FileWriter
  • ObjectInputStream and ObjectOutputStream
  • Serialising and Deserialising 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
Home Let Us Call You Enquiry

Place A booking





Print Friendly



Course Reviews

I thought this course was great. Learnt a lot, but also helped me to solidify concepts I had in my head already. Have already recommended it to a colleague. Trainer's instruction was excellent.

Will - Oil - May 2018


Tutor was very informative and took the time to explain. Allowed me to consolidate everything I had learn so far and I feel confident to now implement what I have learnt at work. Tutor went the extra mile to provide the class with additional information to benefit our learning.

James - Java Developer - Government


Pace, detail and depth of the course was very good. Instructor knowledge was exceptionally good. Practical material and course guide very succinct and detailed. Without a doubt on of the best training experiences to date.

Andrew - Integration Developer - Retail / Hire


More Course Reviews....

Absolutely fantastic trainer, answering questions fully and clearly. The course content was ran at the perfect pace, we studying everything as expected. Examples were clearly demonstrated.

Charlie - Integration Developer - Retail / Hire


Excellent course, knowledgeable instructor.

Michal - Application Support Analyst - Communications


Very knowledgeable instructor, and delivered the course in a very informative and interesting way. Especially liked the fact, it was very much his own input as opposed to just reading through the manual. Thanks

Ross - Software Engineer


All Course Reviews....


StayAhead Promo 14


Oracle User Group - Membership Benefits

Oracle User Group - Membership Benefits

Course Certification

Our independent Oracle, Solaris & Red Hat Linux curriculums helps prepare delegates for official certification.

See what our clients say . . .

I compared courses in Belgium to the one offered by StayAhead, and SA definitely had my preference. I really liked the flexibility of the lecturer concerning extra exercises that had a bit more challenge to them than written down in the course itself.

Nicola - Software Developer - Postal/Distribution - June 2018

More Reviews

+44 (0)20 7600 6116
Copyright © 2018 StayAhead Training Ltd
Cookies   /   Privacy Policy
sales@stayahead.com