Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

ThreadSanitizer and Heap Sampling for Java - Improving Code Health and Performance

Java via YouTube

Overview

Explore two powerful Java development tools in this 48-minute conference talk by Google engineers Jaeheon Yi and Jean Christophe Beyler. Dive into the technical challenges and implementation details of Java ThreadSanitizer, a dynamic data race detection tool, and Heap Profiling, a low-overhead memory allocation monitoring system. Learn how these JVM-integrated tools help improve code health, detect concurrency issues, and optimize memory usage in large-scale Java applications. Discover the intricacies of adapting ThreadSanitizer for Java, including handling JNI boundaries and symbolization of race reports. Gain insights into Google's heap profiling solution, its integration efforts with JDK10, and the valuable information it provides about allocation hotspots and object lifecycles. Understand the impact of these tools on Java development at Google and their potential for broader adoption in the Java community.

Syllabus

Intro
Outline
Happens Before: No False Positives
Vector Clocks by Thread Sanitizer
Thread Sanitizer and JDK Together
Tell TSan everything
Tell TSan almost everything
Nice Stack Reports - How?
Reporting a Data Race
Impact of Java Tsan
Ongoing and Future Work
Heap Sampling Introduction
Preamble 2 What about as a JFR event?
Preamble 3 Heap Sampling
Tentative JVMTI API
Heap Sampling Overview
Tools on Top
Compiler Implementation
Internal Implementation Details
Where is the webrev up to?
Future Potential Items
Heap Sampling Conclusion

Taught by

Java

Reviews

Start your review of ThreadSanitizer and Heap Sampling for Java - Improving Code Health and Performance

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.