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 5. 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 features of Ant are covered in this course?

Ant is the de facto standard build tool used for Java applications. This course covers the most commonly used tasks for building all manner of applications using Ant. This course also covers types, paths, filter chains, references and custom Ant tasks.

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.

Does this course cover authentication and/or authorization?

Yes. In this course, you learn how to apply the Java Authentication and Authorization Service (JAAS) to authenticate users and to impose restrictions on the data and functionality accessible to them.

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 as much as $1,000 on a Voucher 5-Pack!


Best Practices in Java Programming: Hands-On
Upcoming Dates
Aug 12 - 15, 2008
 New York
Aug 26 - 29, 2008
 Washington, DC (Reston, VA)
Sep 9 - 12, 2008
 Toronto
Sep 9 - 12, 2008
 Washington, DC (Rockville, MD)
Sep 23 - 26, 2008
 Washington, DC (Alexandria, VA)
Sep 30 - Oct 3, 2008
 Atlanta
Oct 7 - 10, 2008
 Philadelphia
Oct 14 - 17, 2008
 Los Angeles
Nov 4 - 7, 2008
 New York
Nov 18 - 21, 2008
 Ottawa


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,650 Standard Tuition
Tuition with a Savings Plan
$ 1,660 10-Day Pass
$ 1,665 Training Passport
$ 1,830 Flex-Pass
$ 2,095 Voucher 10-Pack
$ 2,385 Alumni Gold Discount
$ 2,360 Government Discount
 

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