Java Programming for none Java Developers

Java Programming

This course designed to introduce developers who are or not familiar with Object Oriented languages to the Java language.

Designed by software developers for software developers, this course aims to bring to the software developer a pragmatic view of the language. The student will not only learn how to program in Java, but also best practices, how to use the class libraries and software patterns the Java way. This course focuses on the fundamentals of software engineering with a Java perspective

Details

Course code:JAVA-5
Duration:5 days
List Price:£1895
Pre-requisites:A basic programming background and some experience with Object Oriented concepts would be beneficial.
Delegates will learn:How to write; basic Java applications, define well formed classes, stable code bases, effective string manipulation routines, dynamic class loading applications, multi-threaded applications, and basic sockets applications. Students will also learn some basic debugging and optimisation techniques, effective resource management, core Java libraries and how to construct their own frameworks. At the end of this course a student would be well qualified to sit the Java programmer exam.
Customization:This course is suitable for customization to meet your needs


Topics Covered

Network centric architectureExamine why they call Java the lingua franca of the network. In this introduction to the language we look at the history and architecture of the language.
Platform independenceA brief look at Virtual Machine concepts and the different versions of Java that are available.
Frontline securityWe look at the 3 levels of security available to Java developers, built-in, programmatic and config file based.
Java program structureThe basic structure of a Java program and application are examined.
Datatypes and fundamentalsCore language data types such as int, short and double are introduced.
Declarations and access controlCore language features for declaring data types and variables and specifying access modifiers.
Flow control and exceptionsA complete list of java keywords (for, while etc.) as well as working with exceptions.
Working with objectsAn examination of a Java object’s lifecycle; loading, linking and verification. What is a Java class, how is a class initialised, constructors, the initialisation of field members, and basic garbage collection theory.
Working with classesAbstract classes and inheritance.
Working with interfacesWhat is an interface and how is it different to a class? Moving away from inheritance to interfaces only.
Class loadersDynamic linking and resolution, class loader theory, and writing class loaders.
IO and StreamsDifference between byte streams and character streams, working with source/sinks, streams and processors.
Java threadingThreading vs multi-tasking theory, the Thread class and Runnable interface, interrupting and stopping threads, thread safety through synchronisation, worker thread pattern.
Java networkingSockets theory, server and client sockets, working with sockets in multi-threaded applications, and sockets and exceptions.
Java stringsStrings, StringBuffer and StringReader, tuning String manipulation, comparisons and internationalisation.
Optmizing Java applicationsProfiling, JDK features, object creation and deletion, exceptions, casting, variables and threading issues. Strategies for altering user perception on timing issues etc.