|  |
 |  |
| |
 |
 |
|
Intense Java 6
|
|
Duration:
5 Days
|
|
|
This course is designed for software developers looking to master and exploit the Java 6 programming language and environment.
-
Architects
-
Designers
-
Consultants
-
Developers
-
Technical managers
| |
Fluency in a structured language like Fortran, C, C++ or Pascal is assumed
|
|
|
Description
|
Intense Java 6 offers a total immersion approach for experienced programmers wanting to learn Java. The course starts with basic OO concepts and fundamentals of Java, then covers collections, JavaBeans, GUI programming, database programming, network programming, multi-threaded programming, and concludes with an introduction to advanced concepts such as reflection and serialization. The course will use JDK 6.0 and covers many important new language features.
In our public course offerings, students may use IBM's Rational Application Developer (RAD), Eclipse or NetBeans along with a development environment of their choosing (Emacs, JBuilder, etc.).
|
|
Objectives
|
InferData's goal is to transfer as much knowledge as possible from the classroom to the workplace. This course has been carefully designed to ease the student into new concepts with the use of lots of exercises, labs, and sample code. At the end of this course, students should be able to:
-
Identify basic concepts of OO design
-
Write Java programs
-
Build client-server applications using Java
-
Build multi-threaded programs using Java
-
Build GUI applications using JFC (Swing)
-
Build database applications using JDBC
-
Write Java applications that consume web services
-
Reuse the Java code developed in the lab exercises
|
|
Course Outline
|
Java Fundamentals
- Java architecture
- Java system and language concepts
- Objects, Classes and Methods
- Autoboxing
- The new enumeration types
- Statics and static imports
- Control structures and primitives
- Exceptions
- Interfaces and Packages
- Annotations
- Java Development Environment
- Overview of the Java Core Libraries
- Standard utility classes (the java.util package)
- I/O utility classes (the java.io and java.nio packages)
Collections and Generics
- Collection interfaces and classes
- Map interfaces and classes
- Iterator and Enumeration interfaces
- Generic classes and methods
- Mixing generic and legacy code
Network Programming
- Introduction to the java.net package
- Socket programming
- Client-server programming
- Interprocess communications
Concurrent Programming
- Fundamentals of concurrent programming
- Introduction to Java threads
- Synchronization
- Deadlocks
- Starvation
- Thread groups
- Thread local storage
Component Based Programming
- JavaBeans
- Component development in Java
- Managing bean properties
- Handling bean events
Database Programming using JDBC
- JDBC Architecture
- Working with JDBC Drivers
- Connection interface
- Statement interface
- PreparedStatement interface
- ResultSet interface
- Java DB (Apache Derby)
| |
Java Persistence API (JPA)
- Object-Relational mapping
- Persistence annotations
- Relationships
- EntityManager interface
- Java Persistence Query Language (JPQL)
- Packaging and deployment
Graphical User Interface Programming in Java
- Graphics fundamentals
- GUI components
- Layout management
- Event management
- Model-View-Controller architecture
- Using Observer and Observable interfaces
Scripting Languages
- java.script package
- ScriptEngine interface
- Accessing Java objects from script code
- Passing values to script code using the Invocable interface
- Rhino
- Jython
- JRuby
XML and Web Services
- Java API for XML Web Services (JAX-WS)
- JAX-WS 2.0 annotations
- Using JAX-WS to create a simple web service
- Java API for XML Processing (JAXP)
- Java Architecture for XML Binding (JAXB)
Advanced Concepts
- Reflection
- Serialization
- Software distribution
- Inversion of Control
|
|
|
|