Fundamentals of Java Development

Course:   JAVAF
Duration:   5 Days
Level:   I
On our website at:   http://www.verhoef-training.com/courses/JAVAF.html
 
Course Summary

This course material presents an in-depth, hands-on introduction to Java SE, Sun's object-oriented programming language and platform. Both fundamental and intermediate coding techniques and facilities are covered for independent applications. The material may be delivered on either Windows or Linux/UNIX platforms, and emphasizing either Eclipse or NetBeans as a development environment.

The course has been designed in a modular style to allow flexibility to adjust the course to meet specific technical needs, as well as to adapt to the class's level of experience with C-like programming languages, and with Object-Oriented programming. To remain within a 5-day class duration, at most one or two of the optional topics can normally be covered effectively.

Topics Covered In This Course

Introduction to Java Technology

  • Origins
  • Info Sources
  • Standard Edition (SE) Component APIs
  • Applications vs Applets vs Servlets
  • Platforms & Releases
  • SDK vs JRE
  • Language Characteristics
  • Compiling & Interpreting JVM
  • Architecture & Portability
  • Multi-Threading
  • GUI Facilities
  • Development Environments
  • Java Development Kit (SDK)
  • Packages
  • Commercial IDEs
  • Packages
  • CLASSPATH

Language Fundamentals, Part I

  • Overview
  • Source Files
  • General Syntax/Structure
  • Comments
  • Identifiers
  • Data Representation
  • Primitive Types
  • Extended Class Types and Methods
  • Constants
  • Operators and Expressions
  • Console Stream IO, Formatting
  • Flow Control, Conditions
  • Date, String Classes
  • switch/case

Language Fundamentals, Part II

  • Looping Structures: while/for, Flow Control
  • Arithmetic If
  • final variables
  • Assertions, Annotations
  • Bit Operations

Using Classes and Objects

  • Overview
  • Classes vs Objects, Field/Method Access, Memory References
  • Arrays Overview, Declaration/Instantiation,Initialization/Access, Multiple Dimensions
  • Command Line Argument Processing
  • Wrapper Classes, Conversions, Boxing
  • Legacy Vector, ArrayLists, Iterative (foreach) Loop, Irregular 2D Arrays
  • StringTokenizer/split

Writing Methods and Exceptions

  • Overview
  • Method Functions, Signatures, Parameters/Return Types, Invocation
  • Variable Scope, Reference Parms, Overloading
  • Exception Handling, throwing/catching, Checked vs Unchecked Exceptions
  • try/catch/finally/throw Syntax
  • Static Fields/Methods

Classes and Objects

  • Overview, Abstraction, Encapsulation, Inheritance, Polymorphism
  • Declaring Class Field/Method Members
  • Member Access/Assignment
  • Object Constructor, this()
  • Encapsulation, private/public/protected/package, get/set Methods
  • Comparing/Assigning Objects, equals(), clone()
  • Static Fields and Methods
  • SubClassing and Inheritance, Constructors/super(), Overriding Members, Access Control, Virtual Binding, Object Class
  • Polymorphism, Casting, Runtime Type (instanceof)
  • Abstract Classes, Final Classes/Methods, Interfaces, Inner and Anonymous Classes, Packages

File I/O Classes

  • Overview, Typical Classes, Hierarchy, Exception Handling
  • File Object, Directory Info Methods
  • Character Streams, BufferedReader/Writer Classes, Methods, Delimited Files
  • Byte Streams, FileInput/OutputStream Classes, Methods
  • Binary Data Streams, DataInput/OutputStream Classes, DataTypes, Methods
  • Object Serialization, ObjectInput/OutputStream Classes
  • URL Streams, File Conversions

Databases and JDBC

  • Overview, Packages, Coding Essentials, Drivers, Connections, Statements and ResultSets
  • Making Connections, Driver Types, Loading Drivers, Connection String URLs
  • Statements and ResultSets, Executing Queries/Updates, Accessing Rows/Columns, Handling Nulls, Exceptions
  • PreparedStatement and Efficiencies
  • Stored Procedures, CallableStatement; Advanced ResultSets, Scrollable Cursors, Updatable Rows
  • Transactions, commit/rollback
  • ResultSet and Database Metadata

Collections, Generics and Enums

  • Legacy Collections, Vector, Hashtable
  • Collection Framework, Interfaces, Implementations, Algorithms
  • Interfaces, Set, List, Queue, Iterator; Implementations, Array/LinkedList, Hash/TreeSet, Hash/TreeMap
  • Iterators
  • Collections Class Utilities, Comparable Interface
  • Generics, Type Safety, Custom Generic Classes
  • Enums, Constrained Value Types
  • Enum Usage and Builtin Methods
  • Enum Constructors

JFC and Swing (optional module)

  • AWT vs Swing
  • Architecture, Containers, Components, LayoutManagers Program Structure and Coding
  • Containers, JFrame/Dialog/Window, Size/Position, Color/Font, Window Events
  • JComponents, Buttons, Labels, Text, Check/Radio, List/Combo
  • Layout Managers, Flow, Grid, Border, null, Box
  • Dialog Factories, OptionPane, FileChooser
  • Menus
  • Overview Event Delegation Model, Sources, Objects and Listeners
  • Program Structure and Coding, Implementing Interfaces, Inner Classes, Anonymous Adapters

Using Java Threads (optional module)

  • Overview, Process vs Thread
  • Object Threading Model, Thread Class, Data, run() code
  • Creating Threads, Runnable Interface vs Extending Thread Class
  • Thread States, New, Runnable, Blocked, Dead
  • Thread Class Methods, start/stop, suspend/resume, yield, sleep
  • Thread Priority and Scheduling, Daemons, Groups
  • Synchronization and Thread Safe Coding, Locks
  • Producer/Consumer Model, wait/notify Processing
  • SE5 Concurrency Package, Executors, ThreadPools, Scheduling, Callables

Java Networking and Sockets (optional module)

  • Overview, Network Stack and Protocols, IP/TCP/UDP/Appl, Services
  • Package Classes and Exceptions
  • INET Address Translations
  • URL and URLConnections, HTTP Header Info, Downloading FileData
  • Socket Programming, Client vs Server Coding, Threading
  • Datagram Sockets and UDP
  • CGI-like GET/POST Processing

Java EE Overview (optional module)

  • Overview, Definitions, MVC Design Pattern, Server Products
  • Platform Servers, Containers, Client Technologies
  • API Services, Servlet, JSP, EJB, JNDI, JDBC, JTA, JMS, JAXP, JCA, JAAS
  • WebApps Processing Cycle
  • Deployment Objects, JAR/WAR/EAR
  • Server Component Directory Structure, XML Descriptors
  • Development Roles
What You Can Expect

On completion of this course, a student can expect to:

Who Should Take This Course

Application developers, particularly developers with experience in other programming languages who have a need to become proficient in Java programming.

Recommended Prerequisites

The course does not assume prior knowledge of Java Programming, however students should already have significant experience in any other programming language. Experience with any Object-Oriented programming language will enable a student to progress more rapidly in the lab sessions, but is not essential.

Training Style

Lecture, discussion, demonstrations and extensive hands-on labs.

Related Courses
Code Course Title Duration Level
JAVA101
Java Development for Mainframe Programmers
5 Days
I
Details
JAVAWDOO
Java Web Development for OO Programmers
5 Days
I
Details
RESTWSJ
RESTful Web Services Development with Java
3 Days
I
Details
JAVAA
Advanced Java Topics
5 Days
I
Details
SELNMWD
Selenium WebDriver
5 Days
I
Details
JAVARD
Introduction to Java Programming using RAD 7.5
5 Days
I
Details
JAVA9NF
Java 9 New Features
3 Days
I
Details
HADOOPIP
Introduction to Hadoop Programming
5 Days
I
Details
JAVAXML
Development With Java's XML APIs
2 Days
II
Details
JAVAEJB
Developing Java EJB Applications
5 Days
II
Details
JAVAWA
Java EE Web Application Development
3 Days
II
Details
JSFCS
JavaServer Faces (JSF) Programming
3 Days
II
Details
JPA1
Developing Applications with Java Persistence API (JPA)
3 Days
II
Details
JAVATPC
Intermediate and Advanced Java Topics
10 Days
II
Details
JAVAWS
Developing Java Web Services
5 Days
II
Details
MCJFR
Java Performance Tuning with Mission Control and Flight Recorder
4 Days
II
Details

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.