Java Programming – Intermediate Level

$ 2,000Register
Difficulty: Intermediate

Java Logo
DKV Logo

Calendar

Dates Timing Location
13 – 17 December 2015
9:00AM – 5:00PM Dubai Knowledge Village

Arabic_Man_Office

Duration

Weekly courses: 5 days
Weekend courses: 4 days

Participation Fees

Please contact us at: +971 4 4355852

Course Description

The Java Programming Intermediate course is the second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design object-oriented applications with Java. Learn to create classes that subclass other classes, extend abstract classes, and program with interfaces. Learn how to properly use exceptions, how to use the Collections framework, and develop applications that manipulate files, directories and file systems. This course also covers writing database programs with JDBC, and how to correctly write multi-threaded applications.

Download Detailed Course Description

Audience

  • Developer
  • Java Developer
  • Java EE Developer
  • J2EE Developer

Prerequisites

  • Have completed the Java SE 7 Fundamentals course, or experience with the Java language – can create, compile and execute programs
  • Experience with at least one programming language
  • Understand object-oriented principles
  • Basic understanding of database concepts and SQL syntax
  • Fundamentals of Java Programming

Course Objectives

  • Perform multiple operations on database tables, including creating, reading, updating and deleting using JDBC technology
  • Process strings using a variety of regular expressions
  • Create high-performing multi-threaded applications that avoid deadlock
  • Localize Java applications
  • Create applications that use the Java Collections framework
  • Implement error-handling techniques using exception handling
  • Implement input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams
  • Manipulate files, directories and file systems using the JDK7 NIO.2 specification
  • Apply common design patterns and best practices
  • Create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
  • Execute a Java technology application from the command line

Course Topics

Java Platform Overview

  • Introductions
  • Course Schedule
  • Java Overview
  • Java Platforms
  • Open JDK
  • Licensing
  • Java in Server Environments
  • The Java Community Process

Java Syntax and Class Review

  • Simple Java classes
  • Java fields, constructors and methods
  • Model objects using Java classes
  • Package and import statements

Encapsulation and Polymorphism

  • Encapsulation in Java class design
  • Model business problems with Java classes
  • Immutability
  • Subclassing
  • Overloading methods
  • Variable argument methods

Java Class Design

  • Access modifiers: private, protected and public
  • Method overriding
  • Constructor overloading
  • The instanceof operator
  • Virtual method invocation
  • Polymorphism
  • Casting object references
  • Overriding Object methods

Advanced Class Design

  • Abstract classes and type generalization
  • The static and final modifiers
  • Field modifier best practices
  • The Singleton design pattern
  • Designing abstract classes
  • Nested classes
  • Enumerated types

Inheritance with Java Interfaces

  • Java Interfaces
  • Types of Inheritance
  • Object composition and method delegation
  • Implementing multiple interfaces
  • The DAO design pattern

Generics and Collections

  • Generic classes and type parameters
  • Type inference (diamond)
  • Collections and generics
  • List, set and Map
  • Stack and Deque

String processing

  • String manipulation with StringBuilder and StringBuffer
  • Essential String methods
  • Text parsing in Java
  • Input processing with Scanner
  • Text output and formatting
  • Regular expressions with the Pattern and Matcher classes

Exceptions and Assertions

  • Exceptions categories
  • Standard Java Exception classes
  • Creating your own Exception classes
  • Using try-catch and the finally clause
  • Using try-with-resources and the AutoCloseable interface
  • The multi-catch feature
  • Best practices using exceptions
  • Assertions

I/O Fundamentals

  • I/O using Java
  • Reading the console input stream
  • Writing to the console
  • Using I/O Streams
  • Chaining I/O Streams
  • Channel I/O
  • Reading and writing objects using Serialization

File I/O with NIO 2

  • The Path interface
  • The Files class
  • Directory and File operations
  • Managing file system attributes
  • Reading, writing, and creating files
  • Watching for file system changes

Threading

  • Operating system task scheduling
  • Recognizing multithreaded environments
  • Creating multi-threaded solutions
  • Sharing data across threads
  • Synchronization and Deadlock
  • Immutable objects

Concurrency

  • Creating Atomic variables
  • Using Read-Write Locks
  • Thread-safe collections
  • Concurrenct synchronizers (Semaphore, Phaser, and others)
  • Executors and ThreadPools to concurrently schedule tasks
  • Parallelism and the Fork-Join framework

Database Application with JDBC

  • Layout of the JDBC API
  • JDBC divers
  • Queries and results
  • PreparedStatement and CallableStatement
  • Transactions
  • RowSet 1.1 RowSetProvider and RowSetFactory
  • The DAO Pattern and JDBC

Localization

  • Advantages of localization
  • Defining locale
  • Read and set locale using the Locale object
  • Resource bundles
  • Format messages, dates and numbers

Suggested Next Courses

‚Äč

Share Button
Skip to toolbar