1-800-THE-TREE (1-800-843-8733)
 

Best Practices in Java Programming: Hands-On

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

Frequently Asked Questions

What is this course about?

In this course, you learn how to solve real-world software development problems and deliver fast, reliable applications. You learn how to take advantage of advanced language features and APIs; perform concurrent programming with threads; maximize your productivity with automation tools; and secure and improve the performance of your applications.

Who will benefit from this course?

This course is valuable for architects, programmers, engineers and managers involved in developing Java applications. The following professionals would particularly benefit from this course:

  • Developers interested in expanding their Java programming skills
  • Managers who want to create more productive environments using the full capabilities of Java

What background do I need?

You must have at least three to six months of Java programming experience. Specifically, you should:

  • Understand Java classes, the inheritance model, polymorphism and encapsulation
  • Be able to use fundamental standard edition Java APIs
  • Be able to apply object-oriented analysis and design, including defining classes and creating objects

Course 471, Java Programming: A Comprehensive Hands-On Introduction, provides this knowledge.

What version of Java is this course based on?

This course is based on Java 6. The course covers Java 1.4 features such as logging, concurrency, authentication and cryptography. Java 5 features, such as generics and annotations, are also covered.

What are threads?

Threads allow an application to execute multiple tasks concurrently and can be used to improve application performance. For instance, all J2EE environments are inherently threaded, allowing multiple users to access an application server concurrently.

Does this course cover programming with threads?

Yes! Programming in a threaded environment is particularly complex because it can lead to problems that are difficult to diagnose. In this course, you learn how to exploit the power of threads while avoiding common pitfalls. This course covers the new concurrency package in Java and provides pointers on how to take advantage of the new features. To this end, you learn how to apply best coding practices for implementing common application requirements related to threads.

To what extent does this course cover performance tuning?

This course provides the skills to formulate a strategy for measuring, diagnosing and improving the performance of your applications. You learn how to exploit the characteristics of the algorithms used for garbage collection and memory management. Finally, you learn the best practices to write better, lighter and faster code from the outset.

What is unit testing and is it covered in this course?

Unit testing is the cornerstone of test-driven development. Test-driven development is beneficial because it ensures that testing is included in the development process. Developers are able to correct bugs along the way and ensure the maintainability and robustness of their applications.

In this course, you use JUnit to compose unit tests. You also learn how to unit test complex and hard-to-test situations.

To what extent is secure coding covered in this course?

This course covers the major security pitfalls in Java applications and shows the tools that Java provides to address these issues. Ultimately, however, it is up to the programmer to utilize these tools effectively. This course covers what programmers have to do to avoid falling into some of the most common security traps. This course also identifies scenarios in which Java's design is not secure and advises on deployment mechanisms to avoid such situations.

How much time is spent on each topic?

ContentHours
Effective programming in Java1.0
Optimizing software development with proven techniques4.5
Automating and simplifying complex programming5.0
Tuning for maximum performance5.0
Taking full advantage of threads2.5
Incorporating security best practices3.0
Extending application functionality2.0
Times, including the workshops, are estimates; exact times may vary according to the needs of each class.

How much of this course is hands-on?

Approximately 40 percent of class time is spent actively creating a case study application. Exercises include:

  • Improving testability by creating a class in tandem with its unit test
  • Implementing key object-oriented design patterns to create an extensible and maintainable application
  • Refactoring to improve the encapsulation of classes used in multiple tiers
  • Optimizing software performance by reordering loops and reducing database calls
  • Invoking dynamic business rules with scripting
  • Increasing the responsiveness of an application through threading
  • Preventing unauthorized access to sensitive functionality and data

To what extent are coding conventions covered in this course?

This course briefly illustrates the importance of coding conventions. However, this course is mainly concerned with higher-level coding best practices.

What are design patterns and which ones are covered in this course?

Design patterns allow developers to apply proven solutions to commonly recurring problems. This course covers the principles of applying design patterns to the development process. The specific design patterns covered in this course include the Proxy, Strategy, Template Method, Mock Objects, Factory, Composite and Iterator patterns. Each of these design patterns improves application reuse and flexibility.

Does this course cover J2EE design patterns?

No. This course only covers Gang of Four design patterns. For in-depth information on building Java EE design patterns, consider Course 318, Building Java Enterprise Applications with Design Patterns: Hands-On.

How does this course relate to other Learning Tree courses?

After completing Course 471, Course 516 is an ideal follow-on as it provides the skills necessary to improve the performance, security and concurrency of any Java application.

After Course 516, you may be interested in the following courses, depending upon your development needs:

You may also consider the following related courses:

Java is a trademark of Sun Microsystems, Inc.

  
Request More Info

Salutation

First Name

Last Name

Company

Zip Code

Country
   Codes
Work Phone

Extension

E-mail

A representative will contact you to follow up your request.
Privacy Statement

Save Up to 40% per course on the Training Passport!


Best Practices in Java Programming: Hands-On
Upcoming Dates
Dec 16 - 19, 2008
 Washington, DC (Rockville, MD)
Feb 17 - 20, 2009
 Los Angeles
Feb 17 - 20, 2009
 Washington, DC (Reston, VA)
Mar 3 - 6, 2009
 New York
Mar 10 - 13, 2009
 Toronto
Mar 17 - 20, 2009
 Ottawa
Mar 24 - 27, 2009
 Washington, DC (Rockville, MD)
Mar 31 - Apr 3, 2009
 Atlanta
Apr 21 - 24, 2009
 New York
Jun 2 - 5, 2009
 Chicago (Schaumburg)


Hands-On Course Best Practices in Java Programming: Hands-On
Participants analyzing and improving the performance of a Java application.
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
  • FREE participation in College Credit programs (including related exams)

Course Tuition
$ 2,790 Standard Tuition
Tuition with a Savings Plan
$ 1,800 10-Day Pass
$ 1,670 Training Passport
$ 1,700 Premium-Pass
$ 2,200 Voucher 10-Pack
$ 2,515 Alumni Gold Discount
$ 2,484 Government Discount
 

 
Customer Service or Enroll: 1-800-843-8733