1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Best Practices in Java Programming: Hands-On

 
Course: 516   Duration: 4 Days
 
 

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
  • Maximize 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
  • Optimizing software performance by reordering loops and reducing database calls
  • Invoking dynamic business rules with scripting
  • Enforcing security constraints

Related Courses

 
Java is a trademark of Sun Microsystems, Inc.
 

Training Dates

Live online classroom training.Participate in person or in live, online events (highlighted) via Learning Tree AnyWareTM.
Feb 28 - Mar 2Ottawa 
Jun 26 - 29Ottawa 
Jul 24 - 27Toronto 
Oct 16 - 19Ottawa 

US Dates

Apr 2 - 5New York 
Apr 24 - 27Reston, VA
Jul 10 - 13Rockville, MD
Jul 31 - Aug 3New York 
Aug 21 - 24Reston, VA
Oct 30 - Nov 2Rockville, MD
Nov 27 - 30New York 
Dec 18 - 21Reston, VA

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


For complete schedule, please visit www.learningtree.ca
http://www.learningtree.ca/courses/516pf.htm
 
 
1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Best Practices in Java Programming: Hands-On

 
Course: 516   Duration: 4 Days
 
 
Course 516 Content
 

Effective Programming in Java

  • Clarifying the goals of best practices
  • Identifying the key characteristics of high-quality software

Optimizing 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 runtime errors with generics
  • Writing generic classes and methods
  • Limiting parameter values with canonicalization

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 parallelization

  • Writing reliable, thread-safe code
  • Avoiding race hazards and deadlocks
  • Employing the executors framework

Bulletproofing a threaded application

  • Synchronizing threads
  • Techniques for sharing data between threads
  • Managing the performance implications of synchronization

Enforcing Security Constraints

Bulletproofing applications

  • Secure coding in Java
  • Restricting access to protected resources
  • Establishing security policies

Authentication and authorization

  • Applying role-based security
  • Authenticating users in Web applications

Managing Change with Design Patterns

Limiting the impact of changes

  • Centralizing 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
http://www.learningtree.ca/courses/516pf.htm
 
 
1-888-THE-TREE (1-888-843-8733)
PRODUCTIVITY THROUGH EDUCATION®
 

Best Practices in Java Programming: Hands-On Tuition

 
Course: 516   Duration: 4 Days
 
 
Course Tuition
$ 3,220Standard Tuition
Tuition with a Savings Plan
$ 2,2952-Course Passport
$ 1,8353-Course Passport
$ 1,7604-Course Passport
$ 2,950Voucher 5-Pack
$ 2,830Government Discount

Your Course Tuition Entitles You To...

  • Class participation
  • Team workshops
  • Use of in-class hands-on equipment
  • Comprehensive course materials
  • Morning and afternoon refreshments
  • Course Completion Certificate awarding Continuing Education Units
  • FREE participation in Professional Certification
 
 

Tuition Savings Plans

2-Course Passport
  • 2 Courses in 12 months for $4,590
  • As little as $2,295 per course
  • Savings up to 35% per course
3-Course Passport
  • 3 Courses in 24 months for $5,500
  • As little as $1,835 per course
  • Savings up to 50% per course
4-Course Passport
  • 4 Courses in 24 months for $7,035
  • As little as $1,760 per course
  • Savings up to 50% per course
Training Vouchers
  • Save as much as $1,080 per course
  • Fully transferable
  • As low as $2,895 per course
Exact savings may vary depending on courses selected.

Your Guarantee of Satisfaction

Unless you feel 100% satisfied that Learning Tree delivered even more than you expected, there is no fee for your course attendance. Our Guarantee of Quality lets you experience the value of the course—and then pay only if you feel the course was well worth the tuition.

Enrolling is Easy and Flexible!

Enrol by phone or online. If your plans change, just let us know and, without a fee, you can transfer to another course or cancel your enrolment. Pay after you've taken the course, and then only if you are 100% satisfied.

http://www.learningtree.ca/courses/516pf.htm