Intensive and hands on, the course emphasizes becoming productive quickly as a Java application developer. This course quickly covers the Java language syntax and then moves into the object-oriented features of the language. Students will then use several of the provided API packages, such as I/O streams, collections, Swing GUI programming, threads, and accessing a database with JDBC. The course ends with a chapter on performance tuning with hints and best practices for writing efficient applications. Appendices on sockets, regular expressions and J2EE are also available for further studies.
Duration : 80 Hrs | 40 Days | 6 - 8 Weeks
Program Contents
Getting Started with J2SE
What is Java?
How to Get Java
A First Java Program
Compiling and Interpreting Applications
The JDK Directory Structure
Language Fundamentals
A Java Program
If Statements
A First Java Program
Loop Statements
Syntax Details
Primitive Datatypes
Variables
Expressions in Java
Strings
Arrays
Enhanced for Loop
Objects and Classes
Defining a Class
Creating an Object
Instance Data and Class Data
Methods
Constructors
Access Modifiers
Encapsulation
Using Java Objects
Printing to the Console
printf Format Strings
StringBuilder and StringBuffer
Methods and Messages
toString
Parameter Passing
Comparing and Identifying Objects
Destroying Objects
Using the Primitive-Type Wrapper Classes
Autoboxing
Inheritance in Java
Inheritance
Inheritance in Java
Casting
Method Overriding
Polymorphism
super
The Object Class
Advanced Inheritance and Language Constructs
Enumerated Types
Abstract Classes
Interfaces
Comparable
Collections
Generics
Packages
Packages
The import Statement
Static Imports
CLASSPATH and Import
Defining Packages
Package Scope
Exception Handling
Exceptions Overview
Catching Exceptions
The finally Block
Exception Methods
Declaring Exceptions
Defining and Throwing Exceptions
Errors and RuntimeExceptions
Assertions
Input and Output Streams
Overview of Streams
Bytes vs. Characters
Converting Byte Streams to Character Streams
File Object
Binary Input and Output
PrintWriter Class
Reading and Writing Objects
Basic and Filtered Streams?
Core Collection Classes
The Collections Framework
The Set Interface
Set Implementation Classes
The List Interface
List Implementation Classes
The Queue Interface
Queue Implementation Classes
The Map Interface
Map Implementation Classes
Collection Sorting and Tuning
Using Java 5.0 Features with Collections
Sorting with Comparable
Sorting with Comparator
Sorting Lists and Arrays
Collections Utility Methods
Tuning ArrayList
Tuning HashMap and HashSet
Inner Classes
Inner Classes
Member Classes
Local Classes
Anonymous Classes
Instance Initializers
Static Nested Classes
Introduction to Swing
AWT and Swing
Displaying a Window
GUI Programming in Java
Handling Events
Arranging Components
A Scrollable Component
Configuring Components
Menus
Using the JfileChooser
Swing Events and Layout Managers
The Java Event Delegation Model
Action Events
List Selection Events
Mouse Events
Layout Managers
BorderLayout
FlowLayout
GridLayout
BoxLayout
Box
JtabbedPanel
Introduction to JDBC
The JDBC Connectivity Model
Database Programming
Connecting to the Database
Creating a SQL Query
Getting the Results
Updating Database Data
Finishing Up
JDBC SQL Programming
Error Checking and the SQLException Class
The SQLWarning Class
JDBC Types
Executing SQL Queries
ResultSetMetaData
Executing SQL Updates
Using a PreparedStatement
Parameterized Statements
Stored Procedures
Transaction Management
Advanced JDBC
JDBC SQL Escape Syntax
The execute() Method
Batch Updates
Updatable Result Sets
Large Objects
Working with Savepoints
RowSets
CachedRowSets
DataSources
Networking with Sockets
Clients and Servers
Ports, Addresses and Protocols
The Socket Class
Communication Using I/O
Servers
The ServerSocket Class
Concurrent Servers
The URL Class
The URLConnection Class
Remote Method Invocation
Distributed Applications
Stubs
Steps to Create a Remote Object
An RMI Client
An RMI Server
RMI Classes and Interfaces
Class Distribution
RMI Utilities
Parameter Passing and Serialization
Advanced RMI
Client Callbacks
Dynamic Class Loading
Activation
Activatable Objects
Registering Activatable Objects
Security and Activation
JNDI and RMI Registry
RMI-IIOP
Introduction to Threads
Non-Threaded Applications
Threaded Applications
Creating Threads
Thread States
Runnable Threads
Coordinating Threads
Interrupting Threads
Runnable Interface
ThreadGroups
Thread Synchronization and Concurrency
Race Conditions
Synchronized Methods
Deadlocks
Synchronized Blocks
Thread Communication — wait()
Thread Communication — notify()
Java 5.0 Concurrency Improvements
Thread-Aware Collections
Executor
Callable
Java Performance Tuning
Is Java Slow?
Don't Optimize Until You Profile
HotSpot Virtual Machine
Garbage Collection Concepts
Garbage Collection Generations
Garbage Collection in Java 5.0
Object Creation
String, StringBuffer, and StringBuilder
Synchronized
Inline methods
Tuning Collections
Audience :
Programmers who want to learn object-oriented programming using Java
Students who want to learn Java programming skills