|
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 skillsManagers 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?| Content | Hours | | Effective programming in Java | 1.0 | | Optimizing software development with proven techniques | 4.5 | | Automating and simplifying complex programming | 5.0 | | Tuning for maximum performance | 5.0 | | Taking full advantage of threads | 2.5 | | Incorporating security best practices | 3.0 | | Extending application functionality | 2.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 testImplementing key object-oriented design patterns to
create an extensible and maintainable applicationRefactoring to improve the encapsulation of classes
used in multiple tiersOptimizing software performance by reordering loops and reducing database callsInvoking dynamic business rules with scriptingIncreasing the responsiveness of an application through threadingPreventing 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.
|
|
|
|
 |
| Upcoming
Dates |
Washington, DC (Rockville, MD) | Los Angeles | Washington, DC (Reston, VA) | New York | Toronto | Ottawa | Washington, DC (Rockville, MD) | Atlanta | New York | Chicago (Schaumburg) |
|
|

|
|
| Participants analyzing and improving the performance of a Java application. |
|
|
-
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
|
|