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

YouTube

Truly Final Fields in Java - Optimization and Implementation

Java via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of final fields in Java and their optimization in this 37-minute talk by Anna Thomas. Dive deep into the implementation of truly final dependency tracking and invalidation in the Zing JVM, as well as the optimizations performed within the Falcon LLVM-based JIT compiler. Learn about the challenges of implementing final field optimizations, including constant folding, and understand the differences between static and instance final fields. Discover the callback mechanism in Falcon that allows querying the VM about field finality. Examine specific examples demonstrating the benefits of truly final optimizations and gain insights into planned improvements for effectively final fields. Gain a comprehensive understanding of final semantics according to JLS and JVM specs, dependency tracking, and the key extensions made to LLVM for final field optimizations.

Syllabus

Intro
FINAL SEMANTICS ACCORDING TO JLS
FINAL SEMANTICS ACCORDING TO JVM SPEC
STATIC FINAL FIELDS
INSTANCE FINAL FIELDS
FINAL FIELD MODIFICATION
IDENTIFYING FINALITY
DEPENDENCY TRACKING
RECORDING DEPENDENCIES
DEPENDENCY INVALIDATION
FALCON JIT COMPILER
LLVM JIT COMPILER
KEY EXTENSIONS TO LLVM
FINAL FIELD OPTIMIZATIONS
CONSTANT FOLDING VM CALLBACK
CONSTANT REGION
UNKNOWN CALL
PERFORMANCE SUMMARY
WHY EFFECTIVELY FINAL
HANDLING EFFECTIVELY FINAL
CONCLUSION

Taught by

Java

Reviews

Start your review of Truly Final Fields in Java - Optimization and Implementation

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.