Java Application Performance and Memory Management
What you'll learn
- What can cause performance issues in our applications, and how to resolve them.
- The choices available to us as developers at design-time - how to make good coding choices for optimal performance.
- How to configure the virtual machine to provide better performance at run-time.
- The JVM's Just In Time compiler.
- How the virtual machine manages memory.
- Performance testing and benchmarking.
Course content
- Preview04:00
- 01:01Example code provided with this course
- 01:37Using different JDK and JVM vendors
- Preview05:11
- 01:51How to get support while you're taking this course
Requirements
- Basic working knowledge of Java programming is needed, but you don't need to be a Java expert!
Description
In this course we'll understand what can cause performance issues in our applications, and how to resolve them. This includes options available to us as developers at design-time - how to make good coding choices for optimal performance. We'll learn about various ways that we can configure the virtual machine to provide better performance at run-time. And we'll be diving deep into how the virtual machine manages memory, and the garbage collection process.
Along the way we'll be learning about the Just In Time compiler, performance testing and benchmarking, decompiling bytecode, using the GraalVM as an alternative virtual machine and more.
About Java Versions: This course is written for Java versions 8 and 11+ and you can follow along with either the version. You can use the Oracle or the OpenJDK versions. If you are using Java 7 or below, I have another course on Udemy which just covers the memory management part of this course (search for "Java memory management" to find it.)
Who this course is for:
- Java programmers who are looking to deepen their knowledge of how the Java Virtual Machine works
- Application developers who have a problem with a poorly performing application
- All java developers who want to be better programmers
Instructors
Having worked for over 20 years as a professional programmer, mainly in banking, Matt now teaches for Virtual Pair Programmers. His specialist areas are JavaEE, Android, Hadoop and NoSQL. Matt's currently working on a Clojure project, which he finds an enjoyable challenge!
Outside of work, Matt enjoys cycling, but prefers going downhill to uphill, and he also plays the piano… very badly.
Virtual Pair Programmers are here to help you take your programming skills to the next level. We're a group of enthusiastic software trainers who are all professional developers, and have a really practical approach to learning - our courses are full of real world case studies and hands on examples. We teach what you need to know to be productive in the workplace and to get the job done, rather than going through each feature turn by turn.