Admission
	Java programmers who wish to increase their depth of knowledge in Java programming and explore the uses of the various advanced packages.
 
                  
                  
Java Programming Advanced
					
                    
  
 
   | Exam # | 
    Duration | 
    Language | 
    Level | 
    Type | 
    Classroom | 
    Code | 
    Fees | 
  
 
 
  
  | 
   --  | 
  
    21 | 
    
	    English    	 | 
    Advanced | 
            Course | 
    Classroom | 
    Cs269 | 
    500 LE | 
    
  
Description :
	Most production programs will need to interface with technologies such as threading, applets and networking. This course explores advanced Java Standard Edition language features and packages. Multi-threaded applications will be covered in detail including concepts such as deadlocks and race conditions. Trainees will also learn how to utilize more advanced I/O capabilities with object serialization. Client/server applications will be written utilizing both the java.net and java.rmi packages. Reflection in Java and JAR files are covered. There is also an introduction to JavaBeans.
 
Objectives :
	- 
		Use threads to improve performance of Java programs. 
 
	- 
		Store and retrieve a serialized Java object.
 
	- 
		Define applets and the applet life cycle. 
 
	- 
		Use streams. 
 
	- 
		Create network applications in Java. 
 
	- 
		Learn to use Java multi-threading and exception handling features.
 
	- 
		Use reflection classes to examine objects and classes at runtime.
 
	- 
		Gain an in-depth understanding of database programming in Java using JDBC.
 
	- 
		Use JavaBeans
 
	- 
		Create client/server Java applications using sockets and Remote Method Invocation (RMI).
 
Topics :
	Course Introduction
	- 
		Course Objectives 
 
	- 
		Overview 
 
	- 
		Suggested References
 
	Applets
	- 
		Programming Applets
 
	- 
		Applets and Web Browsers
 
	- 
		Converting an Application into an Applet
 
	- 
		Converting an Applet into an Application
 
	- 
		Review Questions
 
	Introduction to Threads
	- 
		Non-Threaded Applications 
 
	- 
		Threaded Applications 
 
	- 
		Creating Threads 
 
	- 
		Thread States 
 
	- 
		Runnable Threads 
 
	- 
		Coordinating Threads 
 
	- 
		Interrupting Threads 
 
	- 
		Runnable Interface 
 
	- 
		ThreadGroups 
 
	- 
		Review Questions
 
	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
 
	- 
		Review Questions
 
	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
 
	- 
		Review Questions
 
	JDBC SQL Programming
	- 
		Error Checking and the
 
	- 
		SQLException Class
 
	- 
		The SQLWarning Class
 
	- 
		The Statement Interface
 
	- 
		The ResultSet Interface
 
	- 
		Updatable Result Sets
 
	- 
		JDBC Types
 
	- 
		Executing SQL Queries
 
	- 
		ResultSetMetaData
 
	- 
		Executing SQL Updates
 
	- 
		Transaction Management
 
	- 
		JDBC SQL Escape Syntax
 
	- 
		Review Questions
 
	Advanced JDBC
	- 
		Using a PreparedStatement
 
	- 
		Parameterized Statements
 
	- 
		Stored Procedures
 
	- 
		ResultSets from Stored Procedures
 
	- 
		The execute() Method
 
	- 
		Batch Updates
 
	- 
		RowSets
 
	- 
		DatabaseMetaData
 
	- 
		Large Objects
 
	- 
		The DriverManager Class
 
	- 
		Types of JDBC Driver
 
	- 
		Review Questions
 
	Streams
	- 
		What Is a Stream?
 
	- 
		InputStream, OutputStream, Reader and Writer
 
	- 
		Files
 
	- 
		Stream Classes of java.io.*
 
	- 
		Review Questions
 
	Advanced I/O - Object Serialization
	- 
		What is Serialization? 
 
	- 
		Serializable Objects 
 
	- 
		Writing an Object 
 
	- 
		Reading an Object 
 
	- 
		Handling Exceptions 
 
	- 
		Customizing Serialization 
 
	- 
		Controlling Serialization 
 
	- 
		Versioning 
 
	- 
		Graduating Task: Building a simple word processor
 
	- 
		Review Questions
 
	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 
 
	- 
		Review Questions
 
	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
 
	- 
		Review Questions
 
	JAR Files
	- 
		The Jar Utility
 
	- 
		Manifest Files
 
	- 
		Signed JARs
 
	- 
		Review Questions
 
	JavaBeans
	- 
		The Basic Bean
 
	- 
		Bean Properties
 
	- 
		Bound Properties
 
	- 
		Constrained Properties
 
	- 
		Visual Beans
 
	- 
		Packaging Beans
 
	- 
		Review Questions
 
 
Recommended Knowledge :
	Trainees should have a good knowledge of Java programming language fundamentals and basic knowledge of Standard Query Language (SQL) before taking this course.
 
Recommended Course(s) :
	Java Programming Core
 
 
 
Training Materials :
	EnterCaps Official Courseware
 
Labs :
	This course includes several labs to ensure you will gain the targeted skills and experience.
 
Credential :
	This Course is a credit towards Sun Certified Java Programmer (SCJP)
 
 
Category :
Programming 
 
The Instructor: