Fundamentals of Java Development

Course:  JAVAF
Duration:  5 Days
Level:  I
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.

« Hide The Details
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

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:

  • understand the origins and strengths of the Java programming language
  • be thoroughly familiar with Java language syntax, including the new features introduced in Java 5
  • be experienced in the use of all the essential Java programming constructs
  • understand the Java I/O architecture, and be experienced in using it's major classes
  • understand the use and coding approach for both checked and unchecked exceptions
  • be experienced in using the Collections framework and other major classes included in the Java Standard Edition
  • have experience using Generics and the supporting syntax extensions, particularly with Collections
  • have experience using Java's vendor-neutral Database access tools (JDBC).
  • have an understanding and basic experience with Java tools for some or all of: GUIs, Network Programming, Concurrency (threads), and Java EE (Enterprise Edition)
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.

« Hide The Details
Related Courses
Code Course Title Duration Level
Java Development for Mainframe Programmers
5 Days
Java Web Development for OO Programmers
5 Days
RESTful Web Services Development with Java
3 Days
Advanced Java Topics
5 Days
Selenium WebDriver
5 Days
Introduction to Java Programming using RAD 7.5
5 Days
Java 9 New Features
3 Days
Introduction to Hadoop Programming
5 Days
Development With Java's XML APIs
2 Days
Developing Java EJB Applications
5 Days
Java EE Web Application Development
3 Days
JavaServer Faces (JSF) Programming
3 Days
Developing Applications with Java Persistence API (JPA)
3 Days
Intermediate and Advanced Java Topics
10 Days
Developing Java Web Services
5 Days
Java Performance Tuning with Mission Control and Flight Recorder
4 Days

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.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]