Java Training Overview
Appextech's Advanced Java™ Programming training course teaches Java developers the latest advanced Java language skills, including generics, annotations, threads, reflections, sockets, RMI, the Java Foundation Classes, and JDBC.
Java Training Objectives
- Write multi-threaded Java applications.
- Use the Reflection API for highly generic tasks, discovery, or code-generation.
- Use standard annotations and develop custom annotations to express meta-data in Java source files.
- Communicate between processes using network sockets.
- Understand the roles of JFC, RMI, JDBC, and other Core API packages in the classic multi-tier architecture for distributed systems.
- Understand the basics of the JFC architecture.
- Build complex GUIs using various JFC controls.
- Understand the relationship between RMI and various J2EE technologies such as JNDI, EJB, and CORBA.
- Implement simple RMI clients and servers.
- Connect to a database using JDBC and perform a simple query.
- Update relational data using JDBC to execute updates, inserts and deletes.
- Use prepared statements to produce reusable database queries and optimize execution time.
- Use callable statements to access database procedures.
- Use scrollable and updatable results sets for more robust solutions.
- Use commit, rollback, and savepoint to build transactional systems.
- Use batch processing for efficient handling of large datasets.
- Use the Java 5.0 Core API and related tools to develop robust multi-tier applications.
|
Java Training Outline
- Generics
- Using Generics
- Type Erasure
- Type Boundaries
- Wildcards
- Generic Methods
- Strengths and Weaknesses of Generics
- Legacy Code and Generics
- Threads
- Java Thread Model
- Creating and Running Threads
- Manipulating Thread State
- Thread Synchronization
- Volatile Fields vs. Synchronized Methods
- wait and notify
- join and sleep
- The Concurrency API
- Atomic Operations
- Reflection
- Uses for Meta-Data
- The Reflection API
- The Class<T> Class
- The java.lang.reflect Package
- Reading Type Information
- Navigating Inheritance Trees
- Dynamic Instantiation
- Dynamic Invocation
- Reflecting on Generics
- Annotations
- Aspect-Oriented Programming and Java
- The Annotations Model
- Annotation Types and Annotations
- Built-In Annotations
- Annotations vs. Descriptors (XML)
- Sockets
- The OSI Reference Model
- Network Protocols
- The Socket Class
- The ServerSocket Class
- Connecting Through URL Objects
- HTTP and Other TCP Servers
- Datagram Clients and Servers
- Non-Blocking Sockets
- Overview
- Three Tiers for J2EE
- Three Tiers for J2SE
- The Case Study
- Design Patterns
- Domain and Service Models
- The Presentation Tier
- The Standalone/Client Application
- JDesktopPane and JinternalFrame
- Adapting JList, JTable, and JTree to Services
- Presentation-Tier Patterns
- The Business Tier
- Distributing the Application
- A Chain of Services
- Logging
- Business-Tier Patterns
- Designing for Latency
- The Persistence Tier
- A Database is Not a Persistence Tier!
- Persistence Frameworks
- Persistent-Object Strategies
- Persistence-Tier Patterns
- Caching
- Introduction to JFC
- Abstract Windowing Toolkit Basics
- Simple Layout Management
- Simple Event Handling
- Lightweight Controls
- JFC Feature Set
- JFC Architecture and Relationship to AWT
- JFC Application Design
- Role of a JFrame
- Building a Frame-Based JFC Application
- Panes
- Using Dialogs
- JFC Components
- JFC Component Class Hierarchy
- JComponent Features
- Simple Control Types
- Text Components
- Menus
- Managing Look and Feel
- RMI Architecture
- Motivation for RMI
- RMI, EJB, and CORBA
- RMI Architecture
- Lifetime of a Remote Method Invocation
- Registries
- Naming and URL Resolution
- Interface Design
- The Remote Interface
- Implementation Classes
- The RemoteObject and RemoteServer Classes
- The UnicastRemoteObject Class
- Server Implementation
- Using the Registry
- Client Implementation
- Code Deployment
- Practical RMI
- RMI Marshaling
- Passing Objects
- The Factory Pattern
- Serialization vs. Remote Reference
- Designing for Latency
- The Transfer Object Pattern
- Controlling Object Location
- Exception Handling
- Database and SQL Fundamentals
- Relational Databases and SQL
- Database, Schema, Tables, Columns and Rows
- SQL Versions and Vendor Implementations
- DDL -- Creating and Managing Database Objects
- DML -- Retrieving and Managing Data
- Sequences
- Stored Procedures
- Using SQL Terminals
- JDBC Fundamentals
- What is the JDBC API?
- JDBC Drivers
- Making a Connection
- Creating and Executing a Statement
- Retrieving Values from a ResultSet
- SQL and Java Datatypes
- Creating and Updating Tables
- Handling SQL Exceptions and Proper Cleanup
- Handling SQLWarning
- Advanced JDBC
- SQL Escape Syntax
- Using Prepared Statements
- Using Callable Statements
- Scrollable Result Sets
- Updatable Result Sets
- Transactions
- Commits, Rollbacks, and Savepoints
- Batch Processing
- Introduction to Row Sets
- Row Sets in GUI and J2EE programming
- Advantages of RowSets
- RowSet Specializations
- Using CachedRowSets
|