Customer Service or Enrol: 0800 282 353 or +44 1372 364610
 

Best Practices in Java Programming: Hands-On

Course: 516   Type: Hands-On   Duration: 4 Days
Quick Enrol  

You Will Learn How To

  • Apply Java best practices to increase productivity and build fast, secure and reliable applications
  • Automate deploying, testing and detecting bugs in software applications
  • Solve architectural problems with proven design patterns and advanced language features
  • Maximise software performance
  • Improve the reliability of threaded applications
  • Code securely in Java and authenticate with industry-standard security frameworks

Course Benefits
Java provides features to build robust, secure and responsive applications. Knowledge of the language and APIs alone is not enough to exploit the full power of Java. Developers must take advantage of proven best practices and industry-standard software development techniques. This course provides the skills needed to solve real-world software development problems and deliver fast, reliable applications.

Who Should Attend
Developers, architects and anyone involved in Java projects who wants to expand their Java programming skills. Real-world knowledge of Java at the level of Course 471, "Java Programming Comprehensive Introduction", is assumed.

Hands-on Training
You apply industry-standard best practices and gain experience using advanced APIs and language features. Exercises include:
  • Improving testability by creating a class in tandem with its unit test
  • Implementing key object-oriented design patterns for extensibility and maintainability
  • Optimising software performance by reordering loops and reducing database calls
  • Invoking dynamic business rules with scripting
  • Enforcing security constraints

Course Content
Effective Programming in Java
  • Clarifying the goals of best practices
  • Identifying the key characteristics of high-quality software
Optimising Software Development with Proven Techniques
Simplifying project build and deployment
  • Automating the build process using ANT
  • Controlling and configuring logging
Applying test-driven development
  • Unit-testing complex components
  • Composing and maintaining JUnit tests
  • Automating project-wide testing
  • Validating application results with functionality tests
  • Testing container-managed components such as servlets
Improving Code Quality Through Better Design
Expert recommendations
  • Balancing extensibility and maintainability
  • Minimising class loading problems
  • Exception best practices
  • Implicit contracts in the Java core API
Attaining type safety
  • Eliminating run-time errors with generics
  • Limiting parameter values with canonicalisation
Enforcing encapsulation
  • Providing coarse-grained methods with Memento
  • Simplifying adaptation to interfaces
Creating flexible frameworks
  • Broadening applicability with reflection
  • Simplifying reflection with JavaBeans and annotations
Refactoring and design patterns
  • Streamlining source code by refactoring
  • Designing to interfaces for improved software flexibility
  • Key object-oriented design patterns
  • Template Method
  • Strategy
  • Composite
  • Factory
  • Inversion of control
Automating code quality checks
  • Enforcing project-wide standards
  • Squashing common coding errors
  • Identifying design mistakes early
Tuning for Maximum Performance
Measuring performance
  • Applying performance profiling tools
  • Assessing response time
  • Conducting load and stress tests
  • Identifying performance bottlenecks
Strategies for improving performance
  • Techniques for dealing with common Java performance issues
  • Exploiting generational garbage collectors
  • Choosing appropriate JVM and container settings
  • Assessing the need for NIO and JNI
  • Reordering loops to improve response time
  • Processing streaming data to reduce memory overhead
Effective use of the Collections API
  • Preventing memory leaks with weak references
  • Selecting the best collection classes
Taking Full Advantage of Threads
Improving response time by parallelisation
  • Writing reliable, thread-safe code
  • Avoiding the pitfalls of threading: race hazards and deadlocks
Bulletproofing a threaded application
  • Synchronising threads
  • Techniques for sharing data between threads
  • Managing the performance implications of synchronisation
Enforcing Security Constraints
Bulletproofing applications
  • Secure coding in Java
  • Restricting access to protected resources
  • Establishing security policies
Authentication and authorisation
  • Applying role-based security
  • Authenticating users in web applications
Incorporating AOP and Scripting
  • Inverting control through bean factories
  • Injecting behaviour with aspects
  • Adding scripting abilities to an application
  • Evaluating end-user scripts securely

Java is a trademark of Sun Microsystems, Inc.
 

request more info Salutation*:

First Name*:

Last Name*:

Job Title:

Company*:

Post Code*:

Country*:
   Codes
Office Telephone*:

Extension:

E-mail*:

* Required

A Learning Tree representative will contact you to follow up your request for information.

Save 55%
Best Practices in Java Programming
17 - 20 Jun, 2008
London
26 - 29 Aug, 2008
London
28 - 31 Oct, 2008
London
27 - 30 Jan, 2009
London

Participants analysing and improving the performance of a Java application.

£ 1,695 - Standard Tuition
Savings Plans
£ 1,080 - 10-Day Training Pass
£ 995 - Flex-Training Passport
£ 1,215 - 10-Training Vouchers
£ 1,300 - 5-Training Vouchers
£ 1,525 - Alumni Gold Tuition

 
Customer Service or Enrol: 0800 282 353 or +44 1372 364610