Course details

Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation, serialization, threads, networking with sockets, Remote Method Invocation, and Java Database Connectivity. This course consists of approximately 40% lab exercises and 60% theory and discussion.

Learning Outcomes

  • Upon completion of this course, students will be able to:
  • Document and package a Java application.
  • Use many of the new enhancements added to the Java API.
  • Use assertions to write robust Java code.
  • Use regular expressions for efficient pattern matching.
  • Choose appropriate data structures from the Java Collection API.
  • Sort and search arrays and lists using a variety of techniques.
  • Capture configuration and debugging information using the Java Logging APIs.
  • Use Generics to create type safe collections.
  • Serialize Java objects.
  • Use features of the new I/O API.
  • Write TCP/IP Client Server applications using sockets.
  • Write multi-threaded Java applications.
  • Execute methods on a remote object using RMI.
  • Perform database queries and updates using JDBC.

Target Audience

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

Course Prerequisites

Students should have completed a beginning Java course or have programmed in Java for at least three to six months.

Course Content

REVIEW OF JAVA FUNDAMENTALS

  • The Java Environment
  • Data Types
  • The String Class
  • The StringBuffer Class
  • Arrays
  • Passing Data Types to a Method
  • Constructors and Initialization
  • Inheritance
  • Abstract Classes
  • Interfaces
  • Static Data, Methods, and Blocks
  • Wrapper Classes
  • I/O

PACKAGING AND DISTRIBUTING A JAVA APPLICATION

  • Packages
  • Managing Source and Class Files
  • The javadoc Utility
  • Documenting Classes and Interfaces
  • Documenting Fields
  • Documenting Constructors and Methods
  • Running the javadoc Utility
  • jar Files
  • The Manifest File
  • Bundling and Using Jar-Packaged Resources

MISCELLANEUS ENHANCEMENTS

  • Enhanced for Loop
  • Autoboxing and Auto-Unboxing
  • Static Imports
  • varArgs
  • Typesafe Enums
  • Formatted Strings
  • Format Specifier Syntax
  • Format Specifier Conversions
  • Format Specifier Flags
  • Formatted Integers Example
  • Formatted Floating Points Example
  • Formatted Strings Example
  • Formatted Dates Example
  • Complex Formatted Example

ASSERTIONS

  • Introduction
  • Assertion Syntax
  • Compiling with Assertions
  • Enabling and Disabling Assertions
  • Assertion Usage

REGULAR EXPRESSIONS

  • Regular Expressions
  • String Literals
  • Character Classes
  • Quantifiers
  • Capturing Groups and Backreferences
  • Boundary Matchers
  • Pattern and Matcher

THE JAVA COLLECTION CLASSES

  • Introduction
  • The Arrays Class
  • Searching and Sorting Arrays of Primitives
  • Sorting Arrays of Objects
  • The Comparable and Comparator Interfaces
  • Sorting – Using Comparable
  • Sorting – Using Comparator
  • Collections
  • Lists and Sets
  • Iterators
  • Lists and Iterators Example
  • Maps
  • Maps and Iterators Example
  • The Collections Class
  • Rules of Thumb

GENERICS

  • Introduction
  • Defining Simple Generics
  • Generics and Subtyping
  • Wildcards
  • Bounded Wildcards
  • Generic Methods

ADVANCED I/O

  • Introduction
  • Basic File I/O Example
  • Buffered I/O
  • The Console Class
  • Object Serialization
  • Serialization Issues
  • Compressed Files
  • Zip File Example
  • Writing Your Own I/O Classes
  • Property Files
  • The Preferences Class

ENHANCED I/O

  • Introduction
  • Channels
  • Buffers
  • Typed Buffers
  • Direct Buffers
  • LOGGING API
  • Introduction
  • Loggers
  • Logger Levels
  • Logger Handlers
  • Specifying Handlers and Formatters
  • Configuring Handlers
  • LogManager

NETWORKING

  • Networking Fundamentals
  • The Client/Server Model
  • InetAddress
  • URLs
  • Sockets
  • A Time-of-Day Client
  • Writing Servers
  • Client/Server Example

THREADS AND CONCURRENCY

  • Review of Fundamentals
  • Creating Threads by Extending Thread
  • Creating Threads by Implementing Runnable
  • Advantages of Using Threads
  • Daemon Threads
  • Thread States
  • Thread Problems
  • Synchronization
  • Performance Issues

REMOTE METHOD INVOCATION (RMI)

  • Introduction
  • RMI Architecture
  • The Remote Interface
  • The Remote Object
  • Writing the Server
  • The RMI Compiler
  • Writing the Client
  • Remote Method Arguments and Return Values
  • Dynamic Loading of Stub Classes
  • Remote RMI Client Example
  • Running the Remote RMI Client Example

JAVA DATABASE CONECTIVITY (JDBC)

  • Introduction
  • Relational Databases
  • Structured Query Language
  • A Sample Program
  • Transactions
  • Meta Data
Updated on 08 November, 2015

About itcork Skillnet

We_They, European Tech Cluster a leading not-for-profit independent business organisation, representing the interests of the IT industry in Ireland. It is a unique blend of indigenous and international IT professionals, executives, multinationals, government leaders, public sector, academia, entrepreneurs, investors and the legal and financial professional services community joining together to drive thought leadership, collaboration and global strategic alliances. It currently represents over 300 member companies with over 30,000 employees.

Half-day conferences, skillnet events, breakfast seminars, networking lunches and evening events are run throughout the year while our Leaders Awards Dinner and Technology in Business Conference are run annually.

See all itcork Skillnet courses
Are you from itcork Skillnet ? Claim your course!
Courses you can instantly connect with... Do an online course on Software Development starting now. See all courses

Is this the right course for you?

Rate this page

Didn't find what you were looking for ?

or