Request Info

Salutation

First Name

Last Name

Job Title

Company

Post Code

Country
List

Office Telephone

Extension

E-mail

Information provided will be used to communicate with you about our products.
Privacy Statement

A representative will contact you to follow up your request.

Save up to 55% per course
 

Best Practices in Java Programming:
Hands-On


Course 5164 Days

 E-mail E-mail  Print Print  Q&A Q&A  PDF PDF  Facebook Facebook  Twitter Twitter

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
  • Avoiding problems with clone()
  • Exception best practices

Attaining type safety

  • Eliminating run-time errors with generics
  • Writing generic classes and methods
  • Limiting parameter values with canonicalisation

Enforcing encapsulation

  • Providing coarse-grained methods with Memento
  • Simplifying adaptation to interfaces

Refactoring and design patterns

  • Streamlining source code by refactoring
  • Designing to interfaces for improved software flexibility
  • Key object-oriented design patterns
  • Template Method
  • Strategy
  • Singleton
  • Composite
  • Factory
  • Inversion of control

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 race hazards and deadlocks
  • Employing the executors framework

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

Managing Change with Design Patterns

Limiting the impact of changes

  • Centralising properties using Singleton
  • Inserting transparent behaviour with Proxy
  • Wrapping external libraries using Adapter

Modern design patterns

  • Inverting control (IoC) through bean factories
  • Injecting behaviour with aspects
  • Adding scripting abilities to an application
  • Scripting end-user behaviour

<< Back to Java
 

Related Courses


Java is a trademark of Sun Microsystems, Inc.
 
Best Practices in Java Programming

Course Dates

Live online classroom training. Attend highlighted events in person or live, online via Learning Tree AnyWareTM.

UK Dates

24-27 AprLondon enrol
28-31 AugLondon enrol
18-21 DecLondon enrol

US East Coast Dates

2-5 AprNew York enrol*

*New York and Washington DC Courses – Available online with a run time of 2pm to 9pm BST.

For AnyWare enrolments, please register at least 10 days prior to the start of the course.

More Dates and Locations.

Fees

£ 1,925Standard Fee
Fee with a Savings Plan
£ 1,2252-Course Passport
£ 1,0853-Course Passport
£ 1,0004-Course Passport
£ 1,600Voucher 10-Pack

On-Site &
Custom Training

Bring this or any Learning Tree course to your location or have it customised for your organisation.

Best Practices in Java Programming: Hands-On

Participants analysing and improving the performance of a Java application.


Average Attendee Evaluation

Evaluations in the last 12 months

5 stars:
74%
4 stars:
23%
3 stars:
2%
2 stars:
1%
1 star:
0%

 
"Since I work on my own, I have found that the Learning Tree Courses are always a good reminder of industry practices and things I should be doing professionally that I may have let lapse. It's also an important opportunity to speak with my peers and other professionals with jobs that are different from mine to get their valuable insights and ideas".

– S. Sutherland
Society of Energy Professionals



 
Ten Questions to Ask Your Training Provider - Position Paper