Heinz Kabutz

Heinz Kabutz

Heinz Kabutz is the author of The Java Specialists’ Newsletter, a publication enjoyed by tens of thousands of Java experts in over 145 countries. His book “Dynamic Proxies (in German)” was #1 Bestseller on Amazon.de in Fachbücher für Informatik for about five minutes until Amazon fixed their algorithm. Thanks to a supportive mother, he has now sold 5 copies.

Heinz’s Java Specialists’ newsletter is filled with amusing anecdotes of life on the Island of Crete. He is a popular speaker at all the best Java conferences around the world, and also at some of the worst. He teaches Java courses in classrooms around the world, where his prime objective is to make absolutely sure that none of his students fall asleep. He is not always successful.

Thread Safety with Phaser, StampedLock and VarHandle

Thursday, September 26 – Day 1 - 11:30 - Room 1

Every major Java version introduces a new and better way of managing state. Java 7 gave us Phaser as a replacement for CountDownLatch and CyclicBarrier. Hardly any programmers know how it works, even though we are now on Java 11. Java 8 gave us StampedLock, useful as a lighter read “lock” when building concurrent classes. Again, not very widely known, but lots of use cases. Java 9/10/11 introduced VarHandle as an escape latch for the Unsafe addicts. In this talk we will show all three concepts and explain when each should be used.

Enough java.lang.String to Hang Ourselves

Friday, September 27 – Day 2 - 14:15 - Room 1

Is it better to write “” + 42 or Integer.toString(42)? How much memory can you save if you intern() all of your strings? How can String Deduplication reduce your memory footprint and what does it cost? And how much memory will Java 9 Strings save in Estonian? What is the maximum length of a constant String? And a dynamic String? How much faster is new StringBuilder().append(“Hello “).append(name).toString() than “Hello “ + name? What are intrinsics and how do they relate to Strings? Are Strings really immutable? How can you efficiently create substrings? These and many more questions we will answer during this talk.