Overview
Syllabus
Intro
Observation: Java abstractions are so worth it
Thesis: confinement enables abstraction
On abstraction and logic
digression on Raymond Smullyan
Abstraction in computing - An abstraction is a part of a program which is worth looking at by itselt
Causes vs. confinement
A moral of this story: Uncertainty is expensive
What about benign races?
Sequential Consistency isn't even the main issue
Inscrutability vs. Lines of Code
Java safety checking is never finished
Reasons to watch for racers
Design pattern: Immutable objects
JVM support: Frozen arrays
Design pattern: Stable variables
Design pattern sketch: Monotonic variables
Design pattern sketch: Race-resistant class
Design pattern sketch: Thread-confined class
Making the best of the Object header
Project Valhalla interactions with confinement
Project Panama uses of confinement
Project Metropolis uses of confinement
Confinement! Confinement!
Taught by
Java