Demystifying the Most Significant Java Language Features from 9 to 11
summary
Shows concrete internals and measured effects: JDK 9 replaces char[] with a byte[] plus a coder so bytecode size and memory drop for Latin‑1 strings but benchmarks using JMH find disabling compact strings can speed UTF‑16‑heavy workloads. String concat moves to invoke-dynamic with six runtime strategies and the default char‑array strategy gives lowest allocations. Stack‑walking costs 1–3 ns per frame, spinWait avoids context switches, collection factory overloads avoid varargs heap copies for up to ten elements, var enables non‑denotable types, nests remove synthetic bridge methods.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:59Private Interface Methods
- 5:12String Compaction
- 8:45String Construction
- 11:39String Comparison
- 13:52String Concatenation
- 15:42InvokeDynamic
- 20:31Stack Walking
- 25:48SpinWeight
- 28:41Collection Factoring
- 33:06Type Inference
- 37:07Nesting Access Control
related talks
50mMove Deliberately & Don't Break Anything
57mNashorn for Java 9
57mNashorn War Stories: Dynamic Language Performance on the JVM
41mVirtual Machines 101
26mJavaScript VMs 101
31mJavaScript Compilation Techniques or "Wasn't JavaScript supposed to be slow?"
49mNot Your Father's Java, Not Your Mother's JavaScript
27mThe Life of a JavaScript Feature in V8 ft. TypedArrays
