~/talk

Java Puzzlers NG S02: Down the Rabbit Hole

Talkat Devoxx US 2017 · 2017-03-21..03-23· [java]
slides:none on file

Quick, concrete takeaways and gotchas with code examples: Semaphore.drainPermits(-42) yields 0 not -42, Stream.empty() is not a singleton because streams carry per-instance state/callbacks, Arrays.setAll can produce two empty Lists with different backing capacities, a functional interface can compile by method-signature merging of overloads but not with default-method clashes, HashSet order is stable inside one JVM run yet Java 9 randomizes iteration across runs, module use requires adding module-info and still keeping classpath deps, and nested iterator removal behavior depends on the concrete collection.

AI-written summary · about

  1. 0:00Java Puzzlers NG S02 intro
  2. 1:03Origins and format
  3. 3:53Rules and voting setup
  4. 8:13Puzzle: Russian hackers and semaphores
  5. 13:38Puzzle: Singleton empty collections
  6. 15:44Streams and Splitterator
  7. 20:06Puzzle: Empty lists and setAll
  8. 25:16Puzzle: Single person functional interface
  9. 29:40Puzzle: Russian hackers strike back
  10. 33:35Java 9 set ordering changes
  11. 37:00Java 9 modules and dependencies
  12. 41:13Puzzle: Killing iterators
  13. 47:02Puzzle: Filtering Spock
  14. 51:18Conclusions
~/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.