Introduction to Java Performance Tuning

Introduction to JVM Tuning Training

The Introduction to Java Performance Tuning training course examines the philosophies, tools, and processes required to begin tuning a Java application.

Assuming most students have not experimented with performance tuning, the JVM Tuning training course begins with an introduction of performance tuning concepts, exploring what is and is not considered performance tuning.

To ensure a successful learning of tuning concepts, the Introduction to Java Performance tuning course also examines the Java platform and the Java Virtual Machine architecture. With the appropriate foundation laid, the course examines common tuning tools and their applications.

Course Summary

Purpose: 
Tune a Java application to address system performance issues and crashes.
Audience: 
Advanced Java programmers and system administrators needing to increase Java performance by tuning their Java applications.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
Duration: 
3 Days
Productivity Objectives: 
  • Understand the performance tuning process
  • Establish performance characteristics and measurement strategies
  • Identify and determine potential causes for hot spots, areas of latency, and bottlenecks in your application
  • Design a performance tuning strategy for your application based on identified underperforming and established characteristics
  • Work with common tuning tools such as profilers, pstat, top, visual vm, etc.
  • Tune the JVM, including GC algorithms, memory profiles, etc.
Introduction to Java Performance Tuning is part of the Java SE Training curriculum.
All of our Java SE courses can be delivered using the IDE of your choice using either JDK 1.5, JDK1.6, JDK1.7 or JDK1.8 (Java 8).

What You'll Learn

In the Introduction to Java Performance Tuning training course, you’ll learn:

  • Introduction to Performance Tuning
    • Background on tuning
    • Why do we need to tune
    • What are symptoms of a system that needs tuning
    • What outcomes should I expect
  • Java Virtual Machine Architecture
    • Overview of Java as a platform
    • Java Virtual Machine Architecture
    • Key Components of the Java Virtual Machine
    • Byte-code verifiers, class loaders, and security
    • Memory heaps and stacks
    • Garbage collection
  • Java Tuning Tools
    • Basic tools
    • Timing tools
    • Load Testing Tools and Techniques
    • JVM Profiling Tools (Profilers)
    • Memory Management and Monitoring
    • Operating System and Network Monitoring tools
  • Java Tuning Process
    • Java Runtime Environment and System constraints
    • Calculating & Measuring JVM / JRE overheads
    • Identifying “startup” components of JVM / JRE
    • Calculating and Measuring Hardware and OS Constraints
  • Performance planning
    • Defining performance specifications, variations, and objectives
    • Defining and Capturing a benchmark (a baseline)
    • Tuning from the benchmark to the objectives
    • Measuring improvements with Profiling and Monitoring tools
  • Fundamentals of Garbage Collection and Heap Tuning
    • Understanding JVM memory and lifecycles
    • Following an object through a lifecycle
    • GC algorithms: Which one, when – tuning GC algorithms
    • JVM Command line switches
    • Measuring improvements
  • Tuning Best Practices
    • Overview of the tuning methodology
    • Understanding the 80/20 rule
    • Can you be smarter than the JIT?
    • Getting big gains quick
    • Understanding the overhead of Logging, Exceptions, Strings, and IO
  • Tuning Java EE Applications
    • Review of Java EE and Java EE Application Server platforms
    • Identifying and tuning common bottlenecks in Java EE applications
    • Identifying and tuning resource pools, external resources, and dependencies
  • Best practices relating to EE tuning

Meet Your Instructor

Simon

Simon has over 15 years of experience defining, developing, and delivering software development training programs.

As a senior instructor and courseware developer for Sun Microsystems, Simon developed and delivered Java training courses for Sun Educational Services’ internal and external customers. While at Sun, he was a guest presenter at JavaOne, Java University, and other software trade shows. Simon’s most significant accolade was his work as the development lead in the design, development,...

Meet Simon »
Jean Photo
Jean

Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.

Jean was also one of the top instructors at Sun Microsystems in North America and Europe....

Meet Jean »
Michael Photo
Michael

Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...

Meet Michael »
Marnie picture
Marnie

Marnie brings 15 years of experience delivering programming related training. During that time she has taught for top-technology companies including: Sun (and later Oracle) certified Java classes, RedHat Certified JBoss administration courses, Spring Source Certified Spring and Hibernate courses. Her classes have run the gamut from introduction to programming classes to Java EE web services and much of the Java EE stack in between.

She has a passion for teaching, which is evident in her presentations and...

Meet Marnie »
Peter

Peter is a Senior Java Developer / Architect / Manager with over 20 years of experience in the analysis, design, and development of computer systems, including 20 years of experience architecting and delivering web-based IT solutions.  Peter manages and leads an experienced team of Java and object-oriented programming specialists that provide a wide range of technical services.  Peter founded Java Enterprise Solutions in 1998 after working for Sun Microsystems advancing Java and Java technologies. While at...

Meet Peter »
Sujee Picture
Sujee

Sujee has been developing software for 15 years. In the last few years he has been consulting and teaching Hadoop, NOSQL and Cloud technologies. Sujee stays active in Hadoop / Open Source community. He runs a developer focused meetup and Hadoop hackathons called ‘Big Data Gurus’. He has presented at variety of meetups. Sujee contributes to Hadoop project and other open source projects. He writes about Hadoop and other technologies on his website.

Meet Sujee »
Photo of Instructor kito
Kito

Kito D. Mann is the Principal Consultant at Virtua, Inc., specializing in enterprise application architecture, training, development, and mentoring with JavaServer Faces, HTML5, Web Components, portlets, Liferay, and Java EE technologies. He is also the editor-in-chief of JSFCentral.com (www.jsfcentral.com), co-host of the Enterprise Java Newscast (http://www.enterprisejavanews.com), and the author of JavaServer Faces in Action (Manning). Mann has participated in several Java Community...

Meet Kito »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Introduction to Java Performance Tuning training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631