Java Programming

Duration: 
5 days
Codes: 
JV-NO5
Versions: 
NULL

Overview

The Java Platform, Micro Edition (Java ME) provides a rich and robust environment for the development of applications that run on mobile devices. Java is currently running on over 3 billion phones and offers unrivaled potential for mobile developers worldwide. Oracle is the leader in providing mobile phone technology.This course includes coverage of the development of mobile applications that use Connected Device Limited Configuration (CDLC)and the Mobile Interface Device Profile (MIDP), and the Lightweight User Interface Toolkit (LWUIT). Using the latest NetBeans IDE and JavaME SDK, students will develop user interfaces with MIDP, a game with sounds using Sprites and Layers, sophisticated user interfaces using LWUIT, applications that access a mobile database, and applications that leverage Location and Payment APIs. Learn To:Create a simple payment application with the Payment APICreate a simple location application with the Location APICreate a simple game using the Game APICreate applications using the Connected Limited Device Configuration (CLDC) and the Mobile Information Device Profile (MIDP)Create robust user interfaces with the Lightweight User Interface Toolkit (LWUIT)A Live Virtual Class (LVC) is exclusively for registered students; unregistered individuals may not view an LVC at any time. Registered students must view the class from the country listed in the registration form. Unauthorized recording, copying, or transmission of LVC content may not be made

Audience

This course is for applications developers new to Java who will be developing applications in Java using IBM's Rational Application Developer v9.5.

NOTE: This course can be tailored to previous release versions on request.

Skills Gained

At the end of this course you will be able to:

  • Create high-performing multi-threaded applications
  • Create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
  • Implement input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams
  • Execute a Java technology application from the command line
  • Manipulate files, directories and file systems using the JDK NIO.2 specification
  • Create applications that use the Java Collections framework
  • Perform multiple operations on database tables, including creating, reading, updating and deleting using both JDBC and JPA technology
  • Search and filter collections using Lambda Expressions
  • Implement error-handling techniques using exception handling
  • Use Lambda Expression concurrency features

Prerequisites

Important Course Information Important Course Information Requirements: Requirements:

  • Three to six months of experience in a high-level programming language, such as C, Pascal, or Visual Basic
  • You should know how to:
    • Structure data
    • Use variables, flow-control statements, and subroutines
    • Write, compile, and execute a program

You should know how to:

  • Structure data
  • Use variables, flow-control statements, and subroutines
  • Write, compile, and execute a program

Write, compile, and execute a program Recommended Experience: Recommended Experience:

  • Familiarity with web technologies and object concepts

Course Outline

Java Platform Overview

  • Defining how the Java language achieves platform independence
  • Differentiating between the Java ME, Java SE, and Java EE Platforms
  • Evaluating Java libraries, middle-ware, and database options
  • Defining how the Java language continues to evolve

Java Syntax and Class Review

  • Creating simple Java classes
  • Creating primitive variables
  • Using operators
  • Creating and manipulate strings
  • Using if-else and switch statements
  • Iterating with loops: while,do-while,for,enhanced for
  • Creating arrays
  • Using Java fields, constructors, and methods

Encapsulation and Subclassing

  • Using encapsulation in Java class design
  • Modeling business problems using Java classes
  • Making classes immutable
  • Creating and use Java subclasses
  • Overloading methods

Overriding Methods, Polymorphism, and Static Classes

  • Using access levels: private, protected, default, and public.
  • Overriding methods
  • Using virtual method invocation
  • Using varargs to specify variable arguments
  • Using the instanceof operator to compare object types
  • Using upward and downward casts
  • Modeling business problems by using the static keyword
  • Implementing the singleton design pattern

Abstract and Nested Classes

  • Designing general-purpose base classes by using abstract classes
  • Constructing abstract Java classes and subclasses
  • Applying final keyword in Java
  • Distinguish between top-level and nested classes

Interfaces and Lambda Expressions

  • Defining a Java interface
  • Choosing between interface inheritance and class inheritance
  • Extending an interface
  • Defaulting methods
  • Anonymous inner classes
  • Defining a Lambda Expression

Collections and Generics

  • Creating a custom generic class
  • Using the type inference diamond to create an object
  • Creating a collection by using generics
  • Implementing an ArrayList
  • Implementing a TreeSet
  • Implementing a HashMap
  • Implementing a Deque
  • Ordering collections

Collections Streams, and Filters

  • Describing the Builder pattern
  • Iterating through a collection using lambda syntax
  • Describing the Stream interface
  • Filtering a collection using lambda expressions
  • Calling an existing method using a method reference
  • Chaining multiple methods together
  • Defining pipelines in terms of lambdas and collections

Lambda Built-in Functional Interfaces

  • Listing the built-in interfaces included in java.util.function
  • Core interfaces - Predicate, Consumer, Function, Supplier
  • Using primitive versions of base interfaces
  • Using binary versions of base interfaces

Lambda Operations

  • Extracting data from an object using map
  • Describing the types of stream operations
  • Describing the Optional class
  • Describing lazy processing
  • Sorting a stream
  • Saving results to a collection using the collect method
  • Grouping and partition data using the Collectors class

Exceptions and Assertions

  • Defining the purpose of Java exceptions
  • Using the try and throw statements
  • Using the catch, multi-catch, and finally clauses
  • Autoclose resources with a try-with-resources statement
  • Recognizing common exception classes and categories
  • Creating custom exceptions
  • Testing invariants by using assertions

Java Date/Time API

  • Creating and manage date-based events
  • Creating and manage time-based events
  • Combining date and time into a single object
  • Working with dates and times across time zones
  • Managing changes resulting from daylight savings
  • Defining and create timestamps, periods and durations
  • Applying formatting to local and zoned dates and times

I/O Fundamentals

  • Describing the basics of input and output in Java
  • Read and write data from the console
  • Using streams to read and write files
  • Writing and read objects using serialization

File I/O (NIO.2)

  • Using the Path interface to operate on file and directory paths
  • Using the Files class to check, delete, copy, or move a file or directory
  • Using Stream API with NIO2

Concurrency

  • Describing operating system task scheduling
  • Creating worker threads using Runnable and Callable
  • Using an ExecutorService to concurrently execute tasks
  • Identifying potential threading problems
  • Using synchronized and concurrent atomic to manage atomicity
  • Using monitor locks to control the order of thread execution
  • Using the java.util.concurrent collections

The Fork-Join Framework

  • Parallelism
  • The need for Fork-Join
  • Work stealing
  • RecursiveTask

Parallel Streams

  • Reviewing the key characteristics of streams
  • Describing how to make a stream pipeline execute in parallel
  • List the key assumptions needed to use a parallel pipeline
  • Defining reduction
  • Describing why reduction requires an associative function
  • Calculating a value using reduce
  • Describing the process for decomposing and then merging work
  • Listing the key performance considerations for parallel streams

Database Applications with JDBC

  • Defining the layout of the JDBC API
  • Connecting to a database by using a JDBC driver
  • Submitting queries and get results from the database
  • Specifying JDBC driver information externally
  • Performing CRUD operations using the JDBC API

Localization

  • Describing the advantages of localizing an application
  • Defining what a locale represents
  • Read and set the locale by using the Locale object
  • Building a resource bundle for each locale
  • Calling a resource bundle from an application
  • Changing the locale for a resource bundle

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. It's a cost effective option.

Submit an enquiry from any page on this site, and let us know you are interested in the requirements box, or simply mention it when we contact you.

Upcoming Dates

  • GREEN This class is Guaranteed To Run.
  • SPVC - Self-Paced Virtual Class.
  • Click a Date to Enroll.
Course Location Days Cost Date
Buckinghamshire
Milton Keynes3 3287 £3287 2019-07-08
Buckinghamshire
Milton Keynes3 3489 £3489 2019-07-08
Buckinghamshire
Milton Keynes5 3489 £3489 2019-07-08
Virtual
Virtual3 2295 £2295 2019-07-15
Norfolk
Norwich3 3287 £3287 2019-07-15
Merseyside
Liverpool3 3489 £3489 2019-07-15
London
London5 2500 £2500 2019-07-15
Virtual
Virtual3 1974 £1974 2019-07-15
London
London5 1840 £1840 2019-07-15
Edinburgh
Edinburgh5 3489 £3489 2019-07-15
Virtual
Virtual5 2295 £2295 2019-07-15
Merseyside
Liverpool5 3489 £3489 2019-07-15
Virtual
Virtual3 1974 £1974 2019-07-15
Norfolk
Norwich5 3489 £3489 2019-07-15
Virtual
Virtual5 2295 £2295 2019-07-15
Norfolk
Norwich3 3489 £3489 2019-07-15
Edinburgh
Edinburgh3 3287 £3287 2019-07-15
London
London5 1840 £1840 2019-07-15
Edinburgh
Edinburgh3 3489 £3489 2019-07-15
London
London5 1840 £1840 2019-07-15
London
London5 2500 £2500 2019-07-15
Merseyside
Liverpool3 3287 £3287 2019-07-15
Virtual
Virtual3 2295 £2295 2019-07-15
London
London5 2500 £2500 2019-07-15
Suffolk
Ipswich3 4398 £4398 2019-07-16
Kent
Tonbridge3 4398 £4398 2019-07-16
Middlesbrough
TBC3 4398 £4398 2019-07-16
West Sussex
Chichester5 4499 £4499 2019-07-16
Middlesbrough
Teesside3 4499 £4499 2019-07-16
Northamptonshire
Corby3 4499 £4499 2019-07-16
Essex
Chelmsford3 4499 £4499 2019-07-16
Northamptonshire
Corby3 4398 £4398 2019-07-16
Kent
Canterbury3 4499 £4499 2019-07-16
Midlands
Derby3 4398 £4398 2019-07-16
Buckingshire
High Wycombe3 4398 £4398 2019-07-16
Dundee
Dundee3 4398 £4398 2019-07-16
Berkshire
Slough3 4398 £4398 2019-07-16
Cheshire
Warrington3 4398 £4398 2019-07-16
Surrey
Guildford3 4499 £4499 2019-07-16
Clwyd
Wrexham5 4499 £4499 2019-07-16
Leicestershire
Leicester3 4398 £4398 2019-07-16
Fife
Dunfermline3 4398 £4398 2019-07-16
Derbyshire
Buxton3 4499 £4499 2019-07-16
Devon
Exeter5 4499 £4499 2019-07-16
Inverness
Inverness3 4398 £4398 2019-07-16
Wiltshire
Swansea5 4499 £4499 2019-07-16
Staffordshire
Stoke on Trent5 4499 £4499 2019-07-16
Devon
Plymouth3 4398 £4398 2019-07-16
Kent
Canterbury3 4398 £4398 2019-07-16
Leicestershire
Hinckley5 4499 £4499 2019-07-16
Oxfordshire
Oxford3 4398 £4398 2019-07-16
West Sussex
Chichester3 4398 £4398 2019-07-16
Cheshire
Crewe3 4398 £4398 2019-07-16
Inverness
Inverness3 4499 £4499 2019-07-16
London
Bromley5 4499 £4499 2019-07-16
Suffolk
Ipswich3 4499 £4499 2019-07-16
Wiltshire
Swindon3 4398 £4398 2019-07-16
London
Gatwick3 4398 £4398 2019-07-16
County Durham
Darlington3 4398 £4398 2019-07-16
Dorset
Poole3 4499 £4499 2019-07-16
Midlands
Northampton5 4499 £4499 2019-07-16
Leicestershire
Leicester3 4499 £4499 2019-07-16
Hertfordshire
Watford3 4398 £4398 2019-07-16
West Sussex
Chichester3 4499 £4499 2019-07-16
Manchester
Bolton3 4398 £4398 2019-07-16
London
Heathrow3 4398 £4398 2019-07-16
Derbyshire
Burton upon Trent5 4499 £4499 2019-07-16
Suffolk
Ipswich5 4499 £4499 2019-07-16
Kent
Canterbury5 4499 £4499 2019-07-16
Midlands
Coventry3 4398 £4398 2019-07-16
Buckingshire
High Wycombe3 4499 £4499 2019-07-16
Essex
Chelmsford5 4499 £4499 2019-07-16
Yorkshire
Wakefield5 4499 £4499 2019-07-16
Inverness
Inverness5 4499 £4499 2019-07-16
Dorset
Poole5 4499 £4499 2019-07-16
Onsite
Onsite5 4500 AU$4500 2019-07-20