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 a Colleague Course Details Course Details Course Details PDF Course Details PDF

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; maximise 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 utilise 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
Optimising software development with proven techniques4.5
Improving code quality through better design5.0
Tuning for maximum performance5.0
Taking full advantage of threads2.5
Enforcing security constraints3.0
Managing change with design patterns2.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
  • Optimising software performance by reordering loops and reducing database calls
  • Invoking dynamic business rules with scripting
  • Increasing the responsiveness of an application through threading
  • Preventing unauthorised 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.

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.

 

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.