CORE JAVA
****************
Chapter 1. An Introduction to Java
************************************************
Java as a Programming Platform
The Java "White Paper" Buzzwords
Java and the Internet
A Short History of Java
Common Misconceptions About Java
Chapter 2 The Java Programming Environment
************************************************
Installing the Java Development Kit
Choosing a Development Environment
Using the Command-Line Tools
Using an Integrated Development Environment
Compiling and Running Programs from a Text
Editor
Running a Graphical Application
Building and Running Applets
Chapter 3. Fundamental Programming Structures in Java
************************************************
A Simple Java Program
Comments
Data Types
Variables
Operators
Strings
Input and Output
Control Flow
Big Numbers
Arrays
Chapter 4. Objects and Classes
************************************************
Introduction to Object-Oriented Programming
Using Predefined Classes
Defining Your Own Classes
Static Fields and Methods
Method Parameters
Object Construction
Packages
Documentation Comments
Class Design Hints
Chapter 5. Inheritance
************************************************
Classes, Superclasses, and Subclasses
Object: The Cosmic Superclass
Generic Array Lists
Object Wrappers and Autoboxing
Reflection
Enumeration Classes
Design Hints for Inheritance
Chapter 6. Interfaces and Inner Classes
************************************************
Interfaces
Object Cloning
Interfaces and Callbacks
Inner Classes
Proxies
Chapter 7. Graphics Programming
************************************************
Introducing Swing
Creating a Frame
Positioning a Frame
Displaying Information in a Panel
Working with 2D Shapes
Using Color
Using Special Fonts for Text
Doing More with Images
Chapter 8. Event Handling
************************************************
Basics of Event Handling
The AWT Event Hierarchy
Semantic and Low-Level Events in the AWT
Low-Level Event Types
Actions
Multicasting
Implementing Event Sources
Chapter 9. User Interface Components with Swing
****************************************************************
The Model-View-Controller Design Pattern
Introduction to Layout Management
Text Input
Choice Components
Menus
Sophisticated Layout Management
Dialog Boxes
Chapter 10. Deploying Applets and Applications
****************************************************************
Applet Basics
The Applet HTML Tags and Attributes
Multimedia
The Applet Context
JAR Files
Application Packaging
Java Web Start
Storage of Application Preferences
Chapter 11. Exceptions and Debugging
****************************************************************
Dealing with Errors
Catching Exceptions
Tips for Using Exceptions
Logging
Using Assertions
Debugging Techniques
Using a Debugger
Chapter 12. Streams and Files
****************************************************************
Streams
The Complete Stream Zoo
ZIP File Streams
Use of Streams
Object Streams
File Management
New I/O
Regular Expressions
Chapter 13. Generic Programming
****************************************************************
Why Generic Programming?
Definition of a Simple Generic Class
Generic Methods
Bounds for Type Variables
Generic Code and the Virtual Machine
Restrictions and Limitations
Inheritance Rules for Generic Types
Wildcard Types
Reflection and Generics
===============
ADVANCE JAVA
=================
Chapter 1. Multithreading
**********************************************************************
What Are Threads?
Interrupting Threads
Thread States
Thread Properties
Synchronization
Blocking Queues
Thread-Safe Collections
Callables and Futures
Executors
Synchronizers
Threads and Swing
Chapter 2. Collections
****************************************************************
Collection Interfaces
Concrete Collections
The Collections Framework
Algorithms
Legacy Collections
Chapter 3. Networking
****************************************************************
Connecting to a Server
Implementing Servers
Sending E-Mail
Making URL Connections
Advanced Socket Programming
Chapter 4. Database Programming
****************************************************************
The Design of JDBC
The Structured Query Language
JDBC Installation
Basic JDBC Programming Concepts
Query Execution
Scrollable and Updatable Result Sets
Metadata
Row Sets
Transactions
Advanced Connection Management
Introduction to LDAP
Chapter 5. Distributed Objects
****************************************************************
The Roles of Client and Server
Remote Method Invocations
Setup for Remote Method Invocation
Parameter Passing in Remote Methods
Server Object Activation
Java IDL and CORBA
Remote Method Calls with SOAP
Chapter 6. Advanced Swing
****************************************************************
Lists
Trees
Tables
Styled Text Components
Progress Indicators
Component Organizers
Chapter 7. Advanced AWT
****************************************************************
The Rendering Pipeline
Shapes
Areas
Strokes
Paint
Coordinate Transformations
Clipping
Transparency and Composition
Rendering Hints
Readers and Writers for Images
Image Manipulation
Printing
The Clipboard
Drag and Drop
Chapter 8. JavaBeans Components
****************************************************************
Why Beans?
The Bean-Writing Process
Using Beans to Build an Application
Naming Patterns for Bean Properties and Events
Bean Property Types
BeanInfo Classes
Property Editors
Customizers
JavaBeans Persistence
Chapter 9. Security
****************************************************************
Class Loaders
Bytecode Verification
Security Managers and Permissions
Digital Signatures
Code Signing
Encryption
Chapter 10. Internationalization
****************************************************************
Locales
Number Formats
Date and Time
Collation
Message Formatting
Text Files and Character Sets
Resource Bundles
A Complete Example
Chapter 11. Native Methods
****************************************************************
Calling a C Function from the Java Programming Language
Numeric Parameters and Return Values
String Parameters
Accessing Fields
Encoding Signatures
Calling Java Methods
Accessing Array Elements
Handling Errors
Using the Invocation API
A Complete Example: Accessing the Windows Registry
Chapter 12. XML
****************************************************************
Introducing XML
Parsing an XML Document
Validating XML Documents
Locating Information with XPath
Using Namespaces
Using the SAX Parser
Generating XML Documents
XSL Transformations
Chapter 13. Annotations
****************************************************************
Addition of Metadata to Programs
An Example: Annotating Event Handlers
Annotation Syntax
Standard Annotations
The apt Tool for Source-Level Annotation Processing
Bytecode Engineering
===========
J2SE
===========
Session 1
*************
Section A: Introduction to Java
CD Tour
Java Basics
Types
Advantages
Platform Goals
Language Goals
C++ Enhanced
Misconceptions
Section B: SDK Install and Setup
Java Acronyms
JRE/SDK Relationship
SDK Install
Directory Structure
Classpath
Set Path Options
Run Application
Run Applets
Section C: SDK Tools
Overview
javac Command
Test Compiler
java Command
javaw Command
jdb Command
Run Apps
javadoc Command
Section D: IDEs
Open Source/Free
Commercial
Jext
jEdit
Eclipse
Section E: Basic Syntax
Overview
Variable Basics
Data Types
Operators
Bitwise Operators
Unary Operators
Other Operators
Conversions
Section F: Strings
Reference Types
String Class
StringBuffer
String Behavior
Compare Methods
Server-Side Comparison
substring() Method
Section G: Flow Control
while Loop
do...while Loop
for Loop
Break/Continue
if...else Construct
switch Construct
Ternary Operator
Session 2
*****************
Section A: OOP
Introduction to OOP
Java Classes
main() Method
Garbage Collection
toString() Method
raiseSalary() Method
Static Methods
Section B: More on OOP
Parameters/Designations
Pass by Value
Constructor Overload
this Keyword
Tester Class
Employee Array
Section C: Encapsulation
Overloading
Private Scope
Accessors/Mutators
get and set
Validate Data
Section D: Packages
Name Error
Import
Classpath
Section E: Inheritance
extends Keyword
Manager Class
Parent Constructor
Override vs. Overload
Child/Parent Relation
Test Manager Class
Section F: Polymorphism
Scope Within Packages
Scope Across Packages
Polymorphism Example
References/Arrays
instanceof Operator
Typecasting
Object Class
Section G: Exception Handling
Runtime Errors
try/catch Block
Unhandled Exceptions
Handled Exceptions
Resource Protection
try Block Scoping
Rethrow Exceptions
Session 3
******************
Section A: Runtime Exceptions
MyCustomException
Exception Hierarchy
Checked/Unchecked
Use Java Source
Catch IOException
Throws Clause
Empty Catch Blocks
Section B: JDBC
DB Connection/SQL Stmt
Driver Types
JDBC-ODBC Bridge
Native-API Driver
Net-Protocol Driver
Native-Protocol Driver
Driver Selection
Connection Process
Section C: Using JDBC
Download Driver
Critical Data
Create Constants
Access/Load Driver Class
Use DriverManager
JDBC Classes
Exception Handling
JDBC Driver JAR File
Section D: MetaData
Setup Driver
getConnection
ResultSetMetaData
Iterate Through Columns
Test and Run
Section E: Simple Deployment
Runtime Environment
Classpath Environment
Apps with Packages
Graphic Application
External Dependencies
Section F: JAR Files
Java Archives
JAR Options
Create JAR File
Contents and Update
Self-Executing JARs
Manifest Entry
Executable JAR File
External Dependencies
Section G: Advanced Java Syntax
Using StringBuffer
Allocating StringBuffers
String Methods
StringTokenizer
Arrays
Constant Arrays
Array Operations
Section H: Abstract Classes
Final Modifier
Garbage Collector
Characteristics
Sortable Abstract Classes
compareTo() Method
Implementation
Spanning Hierarchies
Session 4
******************
Section A: Interfaces
Overview
compareTo() Method
Arrays.sort() Method
Comparator Interface
Apply to Sorting
Tagging Interfaces
Section B: Inner / Anonymous Classes
Inner Class
Compiled Files
Anonymous Class
ExtraClassFrame
InnerClassFrame
Compiler View
Section C: Cloning
Shallow Copying
Deep Copying
Cloneable Interface
Protected Clone
Cloning Primitives
Inheritance
Calling Clones
Cloning Strings
Section D: Advanced OOP Methods
equals() Method
Symmetric Principle
Transitive Principle
With Composition
Other Principles
Equals Checklist
hashCode() Method
Section E: Intro to Threading
Overview
run() Method
Thread Types
interrupt() Method
Priorities
Inheriting from Thread
Runnable Interface
Running Multiple
Section F: Thread Synchronization
Overview
Synchronized Block
Setup Threads
IllegalMonitorState
Using Synchronized
notifyAll() Method
Deadlocks
Section G: Frame Basic
Frame Hierarchy
Ancestors
BasicFrame
Close Operations
Create a Frame
Center a Frame
Containership
Session 5
*****************
Section A: Layout Managers
JBuilder
Containership Hierarchy
Layout Manager Basics
BorderLayout Basics
BorderLayout Controls
FlowLayout Basics
FlowLayout Controls
Section B: Intermediate Layout Manager
GridLayout Basics
GridLayout Controls
GridLayout Sizing
BoxLayout Basics
Controls with Code
Strut/Glue Spacers
Section C: Advanced Layout Manager
GridBagLayout Basics
GridBagConstraints
Null to GridBag
Control Constraint View
Source Code
Disadvantages
View Layout Design
Section D: Multi-Window Application
Overview
Modal Dialog
Frame/Dialog Disposal
InputNameDialog
Dialog Event
JDialog vs. Child Frame
Section E: Swing Controls
History
AWT vs. Swing
Swing Look and Feel
JLabel
JTextField/JTextArea
JScrollBar
JButton
JProgressBar
Section F: More Swing Controls
JSlider
JRadioButton/Button Group
JPanel
JScrollPane
JTabbedPane/JSplitPane
JOptionPane
Message/Option Types
SwingSet Controls
Session 6
*****************
Section A: Event Handling
Generate/Dispatch
ButtonHandler
ActionListener
WindowListener
WindowAdapter
Internal/External
Access to Controls
Anonymous/Inner Class
Section B: Model-View-Controller
Overview
MVC and Swing
JList
ListModel
Update ListModel
Default ListModel
TableModel
Create TableModel
Section C: Advanced JDBC
JDBC and MetaData
ResultSet
Column Count
The Frame
Row Count
Demo
Prepared Statement
Handling Keys
Section D: Files Class
Streams
Hierarchies
How Streams Work
Layer Streams
Construct Frame
JFileChooser
File Properties
List Files
Section E: Streams and Readers
Properties File
Write Properties
Read Properties
Generate Exceptions
PrintWriter
View Exception Log
Read Exception Log
Log Info Objects
Section F: Helper Class
Type Wrapper Class
Using Wrapper Class
Collections API
Using Vector Elements
Create Enumeration
HashTable
Other Collection Classes
Declarations
Session 7
****************
Section A: Applying Collections
Convert Array Elements
Modify Helper Method
Modify Print Loop
Collections Option
Section B: Calendars
Date Classes
Math Classes
Calendar Class
Calendar Constants
Using Calendar Class
CalendarTableModel
Use CalendarJTable
Section C: Formatting
NumberFormat
Custom Mask
Internationalization
Break at Dots
Section D: Applets
Overview
Issues
Java Plug-in
Methods
Security Restrictions
Applets in HTML
Deploying Applets
Applet Building / Tools
Section E: Applet Implementation
AWT Applet Basics
HTML Codebase
Applet Viewer
AWT Applet in Browser
SwingApplet
Plug-in Control Panel
SwingApplet in Browsers
Section F: JavaBeans
Characteristics
Requirements
Application Builder
Building JavaBeans
Uses
Create JavaBeans
Use I Component
Update JavaBean
Section G: Non-Visible JavaBean
Encapsulated Module
Get and Set Methods
Convert Class
Section H: JTrees
Complex Swing Control
Build Tree Model
Return Child index
Instantiate Tree Model
Tree Characteristics
Session 8
****************
Section A: Web Foundations
CGI
ISAPI / NSAPI
Servlets
Servlet Engines
Servlet Details
Section B: Servlet Foundations
Tomcat Servlet Engine
Build Servlet Object
Servlet Methods
doGet / doPost
Install and Run
Friendly Name
Servlet Using Parameters
Pass Parameter Values
Section C: Servlet Parameters
Passing Parameters
Get vs. Post
Use HTML Form Tag
Init Parameters
Context Parameters
Section D: Servlet Threading
Threading Issues
Servlet Thread Protection
Synchronized Blocks
Section E: Servlet Session Tracking
Stateless Solutions
HttpSession Object
Persist Web Page Info
Get Data From Session
Section F: JSP Foundations
JSP Benefits
JSP Documents
Generated Servlet
Section G: Elements of JSP
Markup Tags
Directives Attributes
Scripting Elements
Comment Types
Bean Tags
Using Beans in JSP
Naming Convention
Set Property
Section H: Java Web Start
Overview
Web Start Client
JNLP
Functionality
Application Manager
Launch App
JNLP File
Security Model
==============================================
J2EE
===========================================
1 Introduction
****************************************************************
* Introduction of this course
* Java EE Overview
2 Web Core Technologies: Servlet and JSP
****************************************************************
* Web Application Structure
* Servlet Basics
* JSP Basics
* Using NetBeans for Developing Web Applications
* Servlet Advanced
* Session Tracking
* Expression Language
* JSP 1.2 Custom Tags
* JSP 2.0 Custom Tags
* JSTL
* Building Bookstore sample applications
3 JDBC, SQL, ANT, JUnit, Version Control
****************************************************************
* SQL
* JDBC
* ANT
* JUnit
* Version Control with SubVersion
* Maven
4 Web-tier Security
****************************************************************
* Security Basics
* Web Application Security
* SSL (1 hour lecture)
* Web Application Security Threats and Counter-measures
5 Struts
****************************************************************
* MVC (Model-View-Controller)
* Struts Basics
* Step by Step Guide for Building a Simple Struts
* Struts Sample Applications
* Struts Tags
* Struts Advanced
* Struts Validation Framework
* Tiles Framework
* Struts Testing, Debugging, Logging, and Performance
* Struts Best Practices
* Struts and Databases
* Struts Security
6. JavaServer Faces (JSF)
****************************************************************
* JSF basics I
* Step by step guideline for building "Hello World" JSF application
* JSF basics
* JSF tags
* JSF basics II
* Managed Beans
* Page navigation
* Event model
* Life-cycle
* Styling with CSS
* Validation
* Validation
* Client side validation
* Conversion
* Converter
* Data tables
* Data table
* Sample apps
* Walk-through of Carstore sample application
* Walk-through of Bookstore sample application
* Building some JSF applications
* Tiles
* Tiles overview
* Using JSF-enabled IDE
* NetBeans Visual Web Pack basics
* NetBeans Visual Web Pack advanced
* Building JSF components
* Building a JSF component
* RenderKit
* Building useful components
* Related frameworks
* Facelets
* Shale dialog
* Spring Webflow and JSF
* Spring framework and JSF
* Seam
* 3rd-party JSF components
* MyFaces Tomahawk components
* ADF components
* Wookstock components
* Misc 3rd-party components
* JSF and Ajax
* Building Ajax application using PhaseListener
* DynaFaces
* Ajax4jsf
* Testing and Debugging tools
* Testing tools
* Localization
7. EJB 2.x
****************************************************************
* EJB 2.x Overview
* JMS
* Session Beans
* Entity Beans
8. Java EE 5, EJB 3.0, Java Persistence API (JPA)
****************************************************************
* Introduction to Java EE 5 (
* EJB 3.0 Enterprise Beans Overview
* EJB 3.0 Java Persistence API (JPA)
* GlassFish
9. Design patterns, Best practices, Performance tuning, etc
****************************************************************
* Java EE Design patterns
* Performance tuning
* UML
10. Other Web-tier Frameworks
****************************************************************
* Shale (The next generation Struts/JSF)
* Tapestry
* Echo2
* Struts 2 (Struts + WebWork)
11. Hibernate
****************************************************************
* Hibernate Step by Step
* Hibernate Basics
* Hibernate Mapping
* Hibernate Query Language
* Hibernate Caching
12. Spring framework
****************************************************************
* Spring framework basics
* Refactoring HelloWorld application
* Spring framework Dependency Injection Basics
* Spring framework Dependency Injection Advanced
* Spring framework and persistence
* Spring framework and Hibernate
* Spring framework Web-tier technologies
* Spring MVC
* Spring Web Flow
* Spring integration with Struts
* Spring integration with JSF -
* Spring AOP
* Spring AOP Basics
* Spring and Java EE
* Spring framework and J2EE
* Advanced Spring framework
13. Ruby on Rails
****************************************************************
* Ruby on Rails Basics - neither presentation nor hands-on lab are ready
14. Portlets and Portal
****************************************************************
* Portlet Basics
===============
J2ME
===============
Part I: Introduction
Chapter 1. Mobile Commerce: Visions, Realities, and Opportunities
Section 1.1. Mobile Commerce Value Propositions
Section 1.2. Mobile Technology Adoption
Section 1.3. The Search for Killer Mobile Applications
Section 1.4. Mobile Commerce Landscape
Chapter 2. J2ME: Is Mobile Java Ready for Enterprise?
Section 2.1. Why Java?
Section 2.2. The Java Community Process
Section 2.3. Java Everywhere
Section 2.4. Java 2 Micro Edition Explained
Section 2.5. Competing Technologies
Part II: End-to-End Enterprise Applications
Chapter 3. The Smart Client Paradigm: iFeedBack
Section 3.1. Benefits of Smart Clients
Section 3.2. Introducing iFeedBack
Section 3.3. iFeedBack Usage Scenarios
Section 3.4. Implementation Walk Through
Chapter 4. Managed Smart Clients
Section 4.1. Container-Managed Applications
Section 4.2. OSGi Containers
Section 4.3. A Simple Echo Service Example
Section 4.4. Smart Client with HTTP Front End
Section 4.5. Mobile Gateways
Chapter 5. Mobile Design Patterns: The Smart Ticket Blueprint
Section 5.1. Getting Started
Section 5.2. Smart Ticket in Action
Section 5.3. Important Architectural Patterns
Section 5.4. Implementation Techniques
Chapter 6. Advanced HTTP Techniques
Section 6.1. The Decorator Approach
Section 6.2. The Process-Chain Approach
Section 6.3. Session Tracking via HTTP Cookies
Section 6.4. HTTP Basic Authentication
Section 6.5. HTTP Digest Authentication
Section 6.6. Secure HTTP
Chapter 7. End-to-End Best Practices
Section 7.1. Limited Device Hardware
Section 7.2. Slow, Unreliable Networks
Section 7.3. Pervasive Devices
Section 7.4. Ubiquitous Integration
Section 7.5. The Impatient User
Part III: Mobile Messaging Applications
Chapter 8. Email and PIM
Section 8.1. Basics of Email
Section 8.2. Introducing Mail4ME
Section 8.3. The JavaPhone API
Section 8.4. The PDA Optional Package
Section 8.5. Commercial Email and PIM Suites
Section 8.6. Corporate Portal Servers
Chapter 9. Converged Mobile P2P Messaging
Section 9.1. Introducing the Wireless Messaging API
Section 9.2. WMA in Action
Section 9.3. WMA Reference Implementation
Section 9.4. SMS from the Back End
Section 9.5. Beyond SMS: The IM Convergence
Section 9.6. SIP-Based IM Applications
Chapter 10. Enterprise Messaging
Section 10.1. Mobile Enterprise Messaging
Section 10.2. Introducing the JMS
Section 10.3. Mobile JMS from iBus//Mobile
Section 10.4. The IBM WebSphere MQ Everyplace
Part IV: Mobile Databases and Synchronization Engines
Chapter 11. Mobile Database for CDC Devices
Section 11.1. Database on the Go
Section 11.2. Introducing JDBC
Section 11.3. Portable and Efficient Code Using PreparedStatement
Section 11.4. Access Stored Procedures Using CallableStatement
Section 11.5. The JDBC Optional Package for the CDC
Section 11.6. HSQL Database Engine
Section 11.7. iAnywhere Solutions SQL Anywhere Studio
Section 11.8. IBM DB2 Everyplace
Section 11.9. Oracle9i Lite
Section 11.10. PointBase Micro Edition
Section 11.11. Example Application: Contact Manager
Chapter 12. Mobile Databases for MIDP Devices
Section 12.1. PointBase Micro Edition
Section 12.2. The Oracle J2ME SODA SDK
Section 12.3. The IBM DB2e FastRecordStore
Chapter 13. Database Synchronization
Section 13.1. Synchronization and Mobility
Section 13.2. PointBase UniSync
Section 13.3. IBM DB2 Everyplace
Section 13.4. iAnywhere Solutions MobiLink
Section 13.5. Oracle9i Mobile Server
Section 13.6. The Synchronized Contact Manager
Chapter 14. Access Backend Databases
Section 14.1. Direct Access to Remote Databases
Section 14.2. The Oracle J2ME SQL SDK
Section 14.3. Legacy Applications
Section 14.4. Using Simplicity for Legacy Databases
Part V: XML and Mobile Web Services
Chapter 15. XML for Small Devices
Section 15.1. What Is XML?
Section 15.2. Challenges for Small Devices
Section 15.3. XML Parsing Models
Section 15.4. Introducing Amazon XML Services
Section 15.5. Amazon Services via XmlPull
Section 15.6. Amazon Services via kDOM
Section 15.7. A Mobile RSS Client
Chapter 16. SOAP Web Services on Smart Clients
Section 16.1. What Is SOAP Web Services?
Section 16.2. Introducing kSOAP
Section 16.3. kSOAP Explained
Section 16.4. Advanced kSOAP
Section 16.5. More kSOAP Examples
Section 16.6. What's in kSOAP v2.0?
Chapter 17. The J2ME Web Services Optional Package
Section 17.1. A Little History
Section 17.2. The XML Processing API
Section 17.3. The JAX-RPC API
Section 17.4. The SPI for Implementers
Section 17.5. Compare with kXML and kSOAP
Chapter 18. Case Study: Mobile Clients for Location-Based Services
Section 18.1. Location-Based Services
Section 18.2. Microsoft MapPoint Web Services
Section 18.3. MapPoint J2ME Clients
Section 18.4. Enhancing the Driving Directions Application
Part VI: Advanced Mobile Security
Chapter 19. Mobile Security for Enterprise
Section 19.1. What Is Advanced Mobile Security?
Section 19.2. Lightweight Mobile Cryptography Toolkits
Section 19.3. Bouncy Castle Lightweight API
Section 19.4. The IAIK ME JCE
Section 19.5. Phaos Technology Micro Foundation Toolkit
Section 19.6. NTRU jNeo for Java Toolkit
Section 19.7. B3 Security
Section 19.8. Device-Specific APIs
Section 19.9. Standardization of J2ME Security APIs
Chapter 20. The J2ME Crypto Recipes
Section 20.1. Overview of Recipes
Section 20.2. Symmetric Encryption
Section 20.3. Password-Based Encryption
Section 20.4. Public Key Encryption
Section 20.5. Digital Signature
Appendix A. Basics of J2ME Application Development
Section A.1. Life Cycle Methods
Section A.2. UI Model
Section A.3. Remote and Local Data
Section A.4. Code Walk Through
Section A.5. Packaging and Building
Section A.6. Deployment