~/talk

The Hitchhiker’s guide to Java class reloading

Talkat Voxxed Days Bucharest 2018 · 2018-03-22..03-23· [java, developer-experience]
slides:none on file

Compares three concrete approaches and demos working code: the JVM HotSwap path using Instrumentation.redefineClasses preserves instance state but only allows method-internal edits; class loader–based restarts via Spring Boot DevTools drop context and lose session state but restart in seconds; and an agent that watches file timestamps, attaches with the Instrumentation API, and replays transformations (splitting state and behavior) to add fields/methods and refresh Spring/Hibernate mappings. Shows an agent loader that attaches to a running process, live-reloads controllers and entities, and preserves counters during many edits.

AI-written summary · about

  1. 0:00Intro
  2. 3:14The solutions
  3. 4:07Hotswap
  4. 9:31Theory
  5. 13:45Dynamic Code Evolution VM
  6. 16:43Annotations
  7. 18:32Class loaders
  8. 21:03Application servers
  9. 26:59Java agents
  10. 28:54Demo
  11. 36:39Example
  12. 44:10Conclusion
~/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.