~/talk

Java Value Types: what is it and why are they important

Talkat JAX 2019 · 2019-05-06..05-10· [java]
links:none on file
slides:none on file

Java gains Valhalla/inline classes as a pre-release (download at jdk.java.net/valhalla), introducing objects with no identity / immutable / passed-by-value and no inheritance or synchronization. The JIT uses stronger escape analysis to place short-lived values on the stack and pack arrays into contiguous memory, cutting cache misses—L1 ≈2 cycles, L2 ≈7, L3 ≈70, main memory ≈400 cycles—so benchmarks show substantial speed and memory improvements; examples and microbenchmarks are available on the project GitHub.

AI-written summary · about

  1. 0:00Introduction to value types
  2. 3:40CPU waiting and latency
  3. 19:02Why CPU waits matter
  4. 20:08History of value types
  5. 23:08Restrictions of value types
  6. 28:12Immutability and identity
  7. 31:28No inheritance or polymorphism
  8. 34:21Value types as drop-in replacements
  9. 36:35Passing by value vs reference
  10. 42:03Performance benefits of value types
  11. 46:21Escape analysis and stack allocation
  12. 49:17JIT compiler optimizations
  13. 51:09Generics with value types
  14. 53:18How to experiment with value types
  15. 55:26Summary and takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.