Course Length: 4 Days
Delivered: Virtually
OVERVIEW:
This fast-track course is designed for experienced developers who have prior working knowledge of basic Java 8 or Java 9 and want to take advantage of the newest features of Java 9 that can help improve performance and functionality of Java 9 applications. You will gain invaluable insight into how to leverage Modules, scale applications into multi-core environments, improve performance, and become a more effective Java 9 developer.
COURSE PREREQUISITES:
- TT2100-J9Introduction to Java 9 Programming for OO Experienced Developers
- TT2120-J9 Java 9 Programming Basics for Developers new to OO
- Continued Java & JEE training: Intermediate to Advanced Java, JEE Essentials, Java for Web, Spring / Spring Boot, Microservices / Web Services / REST, RXJava, Tuning, Patterns & More
- TDD / Test Driven Development, JUnit / Unit Testing, Agile development training
- Secure Java Coding / Java Security and secure application development training
- Mobile developer / Android training
- Please contact us for recommended next steps tailored to your longer-term education, project, role or development objectives.
TARGET AUDIENCE:
This in an intermediate level Java development course geared for students experienced with Java 8 or later programming essentials who wish to quickly get up and running with advanced Java skills. This course does not cover Java programming fundamentals.
COURSE OBJECTIVES:
Students will leave this course armed with the required skills to improve their Java applications using sound coding techniques and best practices. This "skills-centric" course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices.
Working in a hands-on learning environment, guided by our expert team, attendees will learn to:
- Develop modular applications in Java
- Utilize the tooling that is provided in Java 9 to migrate, monitor and optimize applications
- Use the new JShell tool to quickly test java constructs
- Understand how the implementation of the String class has been updated to decrease the memory footprint
- Use the enhancements made to the Concurrency API, working with Completable Future instance of Thread pools
- Specific Java 9 features that are covered in the course include:
- The Java Module System (project Jigsaw)
- JShell
- Updated try-with-resources
- Performance enhancements in Java 9
- Multi-Release Jar files
COURSE CONTENT:
1 - Java 9 Updates
- Review of What is New in Java 9
- Milling Project Coin
2 - The Java Module system (Jigsaw)
- Why JigSaw?
- Introduction to the Module System
- The Module Descriptor
- Working with Modules
3 - JShell
4 - More Java 9
- Other New Java 9 Features
- Performance Optimizations
- Memory Management (Optional)
5 - Multithreading and Concurrency
- Multithreading
- Concurrent Java
- Java 8 Concurrency Updates
6 - Reflection and References
- Introspection and Reflection
- Reference Objects
7 - Effective Java
- Objects, Declarations, and Initializations
- Exceptions
8 - Writing High-Performance Applications
- Profiling and Benchmarking
- Profiling ToolsCode Optimization Techniques
- Code Optimization Myths
- Design Optimization Techniques