Integrity by Default
summary
Java is moving to Integrity by Default: invariants become enforceable unless the application explicitly opts out. Internal access is being restricted (deep reflection, agents, JNI, Unsafe) via a staged process of illegal native access warning→deny, central runtime flags and module boundaries, so upgrades stop collapsing into a dependency-driven maintenance mess (the 8→9 migration pain is cited as 99%+ due to internals). More runtime (JIT, thread scheduler, parts of I/O) is now Java, so these restrictions aim to restore portability, security, and optimizeability while allowing controlled opt‑outs like add-opens/add-exports flags.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:14Java's changing landscape
- 5:50The necessity of evolution
- 11:06Defining integrity
- 16:18Risks to encapsulation
- 21:47Security and performance
- 28:22Integrity by default
- 32:36Handling flags and risks
- 37:16Special cases
- 40:11Gradual implementation
related talks
51mJava - Integrity by Default
42mHidden security features of the JVM - everything you didn’t know and more
50mMaking the Future Secure with Java
47mJDK 9, 10, and 11: Pitfalls for the Unwary
44mEngineering a Modern Java Platform
48mHidden Security Features of the JVM - Everything You Didn’t Know and More
51mPrepare for JDK 9
46mModular Development with JDK 9 and Beyond
