Microsoft training courses, Cisco training courses, Prince2 training courses, ISEB training courses with locations nationwide
Call now to speak to an experienced Training Advisor
 
     
 
         
 
 
Thousands of Microsoft, ISEB, ITIL, Cisco and Prince2 Training Courses and more
 
 
Browse Sun Training Courses

Java - Advanced Programming Techniques Workshop

Course Code: JAV0020      Days: 4
Show all Sun Courses
Scheduled Dates (sort by: location | date)
Request availability or book by selecting a date:
15/12/08 London (Greater) (N20) £ 1,750
Prices exclude VAT.
Have questions or need a better city/date? Ask now.
On-site/international quote? Ask now.

Course Overview

Java is now a mature language. With the advent of Java 5 and now Java 6, the language has seen profound improvements of which not all developers are aware. This course highlights those improvements, as well as delving into a range of topics that an experienced Java developer needs, such as design patterns, logging and testing frameworks, performance and concurrency issues: skills that underpin best Java development project practice worldwide.

All exercises and examples are designed to achieve the maximum benefit for delegates. They aim to effectively demonstrate the advanced concepts covered in the course and provide an opportunity to experiment with them; many of the exercises develop custom API's which encapsulate complex functionality that can be used in numerous real world applications.!

This course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus.

Audience

IT professionals who already have some Java experience and are looking to further their skills or resolve any issues they may have with the more complex areas of its use.

Skills Gained

  • Advanced language concepts, including generics, enumerations and other Java 5 additions to the Java language.
  • A solid grounding in use of Java for distributed programming, including web techniques.
  • Best practices, including use of open source frameworks and techniques that are now mainstream project standards.
  • How to use design patterns effectively and apply them in practical contexts.

Prerequisites

Java knowledge (to the level of our JavaSE course or similar).

Course Outline

Improvements to the Java Language

  • Exploiting type-safe Collection classes with generics
  • Writing your own generified, flexible classes
  • How to minimize casting with autoboxing
  • Annotations for improving compiler effectiveness
  • Providing your own annotations
  • Effective string processing with regular expressions
  • Flexible parameter lists with varargs
  • Farewell to lists of constants: enumerations

Maintainability ; Extensibility with Design Patterns

  • Beyond simple OO
  • Why new is not always best: creational patterns
  • One and only one instance with Singleton
  • Controlling what you create with Factory Method
  • Improved object relationships: structural patterns
  • Bridging divides with Adapter
  • When inheritance is not enough: Decorator
  • Object oriented algorithms: behavioural patterns
  • Divide and rule with Command
  • Event-driven processing: Observer
  • Applying State and Strategy
  • Enforcing lifecycles with Template Method

Logging Best Practice

  • System.out.println considered harmful
  • Controlling message destinations
  • Filtering messages by severity
  • Choices of logging framework: Java native logging versus log4j
  • Avoiding commitment: Apache
  • Commons Logging
  • Creative applications for logging

Optimizing the Java Development Lifecycle

  • Beyond simple build management with ANT
  • Incorporating and automating project-wide testing
  • Enforcing code quality standards
  • Gathering metrics
  • Spotting anti-patterns
  • Further automation with Maven
  • Controlling dependencies
  • Maven and IDE integration
  • Configuration management with SubVersion

New features of Java

  • JUnit: testing framework and philosophy
  • Testing best practice
  • Improved test management with annotations
  • Container-based testing for enterprise Java components

Approaches for Distributed Applications

  • Java's raw networking capabilities
  • Simplifying access to networked resources:
  • URL and URLConnection
  • Improved remote method invocation (RMI) and macro frameworks - Web client/server architectures
  • Apache HttpClient
  • Web containers: Apache Tomcat

Designing Secure Applications

  • Locking down the JVM with policy-based security
  • Implications of security for writing Java code
  • Authentication and authorisation in enterprise Java environments
  • High Performance Java
  • Tools for profiling your Java code
  • Analysing response times and bottlenecks
  • Automating load and stress testing
  • High-performance IO for files and networks: java.nio.
  • Common performance-related coding issues
  • Configuring the JVM for best performance
  • Managing and monitoring Java applications with JMX
  • Concurrency Utilities
  • Thread-safe building blocks: the java.util.concurrent* packages
  • Scheduling and synchronizing tasks
  • Implementing highly scalable concurrent algorithms

Associated Courses

  • JavaFX Script Training Course
  • JavaFX Mobile Training Course
  • JavaSE (J2SE) Training Course
  • Advanced Java SE Training - Advanced Programming Techniques & Design Patterns Workshop
  • JavaEE (J2EE) Training Course
  • JavaME (J2ME) Training Course
  • JavaME (J2ME) Upgrade for Java Programmers
  • JavaEE (J2EE) Design Patterns & Architecture
  • JavaEE (J2EE) Architecture - 1 day overview
  • Enterprise Workshop with Struts Training Course
  • Web Enterprise Development Workshop with Spring Framework Training
  • JBoss J2EE Application Server Administration Training
  • Hibernate training course
  • SOA & ESB - Service Oriented Architecture & Enterprise Service Bus Training
  • IBM Visual Age for Java Training Course
  • Websphere Application Server Training Course
  • Weblogic / J2EE Training Course
  • Weblogic Upgrade Training Course


How to make a booking for the JAV0020 course

 
  CourseMonster books thousands of public training courses, classes and boot camps both in London and throughout the UK including: Berkshire, Birmingham, Bristol, Bournemouth, Bucks, Cambridge, Derby, Devon, Edinburgh, Glasgow, Hampshire, Ipswich, Leeds, Leicester, Luton, Manchester, Middlesex, Milton Keynes, Norfolk, Nottingham, Reading, Surrey, Sussex, Tyne and Wear, Midlands and Yorkshire. Topics range from software to administration and development.  
     
CourseMonster® Patent Pending © SeaKom, All Rights Reserved - Channel partners with Business Training Partnership