Java 8 performance and tuning

Learn the techniques and practices for improving Java applications

Course Code : 1223
Java 8 performance and tuning 0 5 0

$1695

Overview

During this two day training course, participants learn the essential skills for improving the Java applications using sound coding techniques and best practices. The course enables participants to learn in a dynamic, hands-on learning environment under the guidance of an expert trainer.

Schedule Classes

Looking for more sessions of this class?

Course Delivery

This course is available in the following formats:

Live Classroom
Duration: 5 days

Live Virtual Classroom
Duration: 5 days

What You'll learn

  • List possible metrics for measuring software performance
  • Explain the effect of object-oriented design on software performance
  • List an describe the types of benchmarks and the criteria that should be considered when constructing a benchmark plan
  • Explore the most useful targets for profiling, and the most common tools/techniques for profiling
  • Describe two strategies for improving performance as a result of profiling data
  • List and explain the five most common problem areas for good performance with Java
  • Use the JDK to collect runtime profiling data
  • Successfully read the profiling data generated by the JDK to detect performance bottlenecks
  • Instrument code to collect method execution time data
  • Learn code optimization techniques relating to object management, exceptions, threads and serialization
  • Understand the JVM architecture from the perspectives of performance
  • Examine and work with Java language features that can impact performance
  • Understand optimizing data structures in Java
  • Choose the correct collection for the task
  • Leverage the built in collections algorithm to enhance your code performance and security
  • Examine the many Java 8 features to understand their impact on performance

Outline

  • Memory management issues
  • Memory consumption of Java data types
  • CPU performance issues
  • Threading issues
  • Profiling and benchmarking
  • Java Microbenching Harness (JMH)
  • Code optimization techniques
  • Design optimization techniques
  • Creating and destroying objects
  • Factory methods
  • Impact of finalizers
  • Classes and interfaces
  • Immutability
  • Composition vs. inheritance
  • Exceptions
  • Threading constructs to avoid
  • Efficient strings and arrays
  • Efficient use of collections
  • Choosing a collection
  • Tuning collection constructors
  • Performance across Java versions
  • Impact of Java 8 concurrency updates
  • Tiered compilation
  • Nashorn vs. Java 7’s JavaScript engine
  • Lambda expressions vs. Inner classes
  • Impact of streams vs. collections
  • Date/time classes
  • I/O stream recommendations
  • Encoding/decoding
  • String and spring interning
View More

Prerequisites

Participants need to have current hands-on experience in developing basic Java 8 applications. They also need to have completed the following courses or have equivalent skills –

  1. Java programming fundamentals for OO experience developers
  2. Java 8 and OO programming essentials for developers new to OO

Who Should Attend

This is an intermediate level Java SE (JSE) developer course targeted towards experienced Java developers. It is highly recommended for –

  • Java developers
  • Software developers
  • Application developers
  • DevOps developers
  • Software engineers
  • Full stack developers

Interested in this course? Let’s connect!

Customer Reviews

Name
Email
Review Title
Rating
Review Content

No reviews yet