We use cookies to offer you a better experience and to analyse how visitors use our site, you may consent to our cookies by continuing to use our site, or you may view more information and choose to reject cookies by clicking here. Thank you

Contact us online or call us on 0191 377 8377

  • Name*:*
  • Organisation:
  • Telephone:
  • Email:*
  • Message*:*
  • Send me a copy of this email
  • Send me course updates from time to time via email

    Your subscription will naturally terminate after your chosen time limit. We will get in touch just before the end so that you can subscribe again if you would like to continue receiving information after that point.

* Required Fields

PDF
Course Java Programming 2
  • Course Duration5 Days
  • Course Options
    Public Scheduled
    Public Scheduled
    Fixed 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!
    Private
    Private
    Flexible content, flexible date, flexible location, variable 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.
    Bespoke
    Bespoke
    Bespoke 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.

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.
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.
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.
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
    • 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
    • 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
What's included
    • For courses held on our premises, complimentary tea, coffee and biscuits are available. Lunch is not provided, however, there is a wide variety of eateries within a short walk of the centre.
    • Comprehensive course materials and exercises
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

 

Course Dates Please contact us to discuss dates for this course, thank you

IT Training Solutions Ltd
Oakville, 14 Durham Road West, Bowburn, Durham, DH6 5AU
0191 377 8377
ittrainingsolutions.co.uk

Printed: 16 Jun 19

 

 

 

Contact us

  • Name*:*
  • Organisation:
  • Telephone:
  • Email:*
  • Message*:*
  • Send me a copy of this email
  • Send me course updates from time to time via email

    Your subscription will naturally terminate after your chosen time limit. We will get in touch just before the end so that you can subscribe again if you would like to continue receiving information after that point.

* Required Fields