J301: Advanced Java Programming – Hands On

This advanced Java programming course is for students with some existing knowledge of Java. It covers the most advanced aspects of the language including remote method invocation, Java beans, serialization and others.

Prerequisites: The student must have an introductory level of Java experience.

Duration: 5 Days

JUnit Testing Framework

Framework Overview

TestRunner

Test Cases

Uses

Using automatic test tools

Regression testing

Inner Classes

Static

Non static

Named

Unnamed

Input/Output

Classes and Java support

Implementation details

Filters

File

Random access

Input streams

Output streams

Readers

Writers

Introspection/ Reflection

Introspector

BeanInfo

Method

invoke

Attributes

Fields

Events

Interfaces

Modifiers

Class class

class attribute

Dynamic code techniques

Not just for development tools

Network Programming

Protocol landscape

InetAddress

Ports

Sockets

URLs and URIs

URL encoder

Connections

Input/Output streams

Serialization

Multi-threaded servers

Datagrams

Multi-Threading and Synchronization

Creating & deleting threads

Grouping threads

Controlling

Synchronization

Scheduling

Starvation

Race condition

Deadlock

Per-class and per-object thread safety

Inter-thread communication

Daemons

Priorities

Remote Method Invocation (RMI)

Stubs

Remote Interfaces

Tools

Theory

Lookup

RMIRegistry

Threading Issues

Deployment Issues

Dead Clients

Persistence/Serialization

Externalization

Manual

Automatic

Versioning

Changes

Inheritance issues

Containment issues

1.2 Collection Classes

Comparable

Comparator

Design by interface

Algorithms

Arrays

Collections

Multi-threaded issues

Introduction to Swing Components

Architecture

Light versus heavy weight components

MVC architecture

Buttons

List boxes

Tables

Scroll panes

Introduction to Enterprise Java Beans (EJB)

Product landscape

Writing them

Using them

Containers

Session Beans

Entity Beans

Stateful

Stateless

Persistenc

Container managed

Bean managed

EJBObject versus the “real” object

Home interface and EJBHome

EJBContext

Create methods and ejbCreate methods

Find methods and ejbFind methods

Object identity

Primary keys

Handles

Remote interfaces

Transactions

Synchronization

Passivation/Activation

Load and store

Object deletion/removal

Deployment descriptors

Object pools

Jar files

Environment properties

…

Each one of our high content courses is custom created to ensure that students receive as much real world knowledge as possible. Our expert instructors develop all our course materials in-house. We literally “wrote the book” on programmer training.