Advanced Java Programming for UNIX and Linux

Course

In Carshalton

£ 1,750 + VAT

Description

  • Type

    Course

  • Location

    Carshalton

  • Duration

    5 Days

Each section contains a number of exercises designed to clarify understanding of the topics presented. Each exercise consists of a basic core exercise, followed by a number of more challenging exercises for further study (e.g. in the evenings, or after the course). The course uses Linux/Solaris workstations, the Sun Java SDK, and the Emacs JDE (If needed the course can use. Suitable for: The course is aimed at programmers who need to fill in gaps in their basic Java programming skills. It is also useful for code maintainers and technical project managers. It should provide a firm technical foundation for those moving on to working with databases, XML, Java Beans, Java Server Pages, Java Servlets, and Java in a CORBA context.

Facilities

Location

Start date

Carshalton (Surrey)
See map
1-3 Fairlands House, North Street, SM5 2HW

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
The emphasis in this course is on extending basic Java programming skills. More exotic subjects such as Enterprise Java Beahs, Java Server Pages, Java Servlets, 3D Java Graphics programming are dealt with in other courses. This course is for software craftspeople in the making.
The core topics covered in this course, which are often neglected in heavily commercial courses, these include programming with Java threads, network programming, programming with the Java collection classes, using Remote Method Invocation and making use of Patterns.

Key Skills
  • Understand patterns and how they can be applied
  • Develop client server applications using sockets
  • Explore multi-thread programming techniques
  • Gain familiarity with the Java collection class functionality
  • Investigate the usefulness of RMI for implementing a remote service

Practical Work
Each section contains a number of exercises designed to clarify understanding of the topics presented. Each exercise consists of a basic core exercise, followed by a number of more challenging exercises for further study (e.g. in the evenings, or after the course).
The course uses Linux/Solaris workstations, the Sun Java SDK, and the Emacs JDE (If needed the course can use JBuilder or Websphere)
  • Implement the singleton, composite, observer and visitor patterns - (in the context of a process simulation and process control application case study)
  • Implement an information service using socket, URLConnection class, and RMI approaches
  • Use Java serialisation to save and then restore the state of a long running simulation.
  • Use Java collection class functionality to represent a transportation network, and then to find various routes between start and destination points.
  • Use Java multi-threading to implement several classical multitasking scenarios -- dining philosophers, workgroup model, manager worker model, deferred computation model, pipeline model, work crew model

Course Contents
Intensive overview of Java Technology
  • Structure of Java programs and Java Applets
  • Classes and instances, inheritance and polymorphism
  • How Java differs from C++
  • Functionality provided in the Java Standard and Enterprise Editions
Handling collections of objects in Java
  • Java Arrays
  • Java Collections Framework - Interfaces and Implementations
  • Set - interface, implementation as HashSet
  • SortedSet - interface, implementation as TreeSet
  • List - interface, implementations - ArrayList, LinkedList, Vector
  • Map - interface, implementations - HashMap, Hashtable
  • SortedMap - interface, implementation as TreeMap
A selection of Patterns and how to implement them in Java
  • Overview of UML
  • Rationale underlying patterns
  • Singleton pattern
  • Composite pattern
  • Visitor pattern
  • Observer pattern
Java Thread Programming
  • Concept of a thread
  • Java threads and the Java Runtime System
  • The Java Runnable interface
  • The Java Thread class
  • Creating and starting threads
  • Thread control and synchronisation - sleep(), interrupt(), wait(), join(), notify()
  • Deriving classes from the Thread class
  • Using threads via an adapter class
  • Threads in applets
  • Controlling access to critical resources (serialising access)
  • Implementing the producer-consumer message passing application
  • Thread scheduling and prioritisation
  • Thread groups
  • Native threads
Java Network Programming
  • Overview of TCP/IP - IP, TCP, UDP, ICMP, DNS
  • Overview of Web concepts - URIs, HTML, SGML, XML, HTTP, MIME, CGI
  • URL, URLEncoder and URLDecoder classes
  • Network methods in java.applet.Applet
  • Client side sockets - Socket class
  • Server side sockets - ServerSocket class
  • Secure sockets - SSLSocket and SSLServerSocket classes
  • DatagramPacket and DatagramSocket classes
  • Multicast sockets
  • URLConnection class
  • HttpURLConnection, JarURLConnection
  • ContentHandler class
  • Remote Method Invocation (RMI)
  • JavaMail API
Data persistence in Java
  • Object serialisation in Java
  • Serialising a collection of objects
  • Serialising a graph of interconnected objects
  • Persistence via saving state information to a relational database
  • Persistence via an object oriented database

Advanced Java Programming for UNIX and Linux

£ 1,750 + VAT