Piotr Przybył.jpg
Lead Developer at AtomicJar

(Mis)using modern Java

Modern Java is really awesome when it comes to "Hello, World!" demos. It's also cool for a sophisticated systems and algorithms, provided their authors write code which obeys a few fairly simple contracts and avoids obvious traps. There are a few mantras regarding recent features of modern Java, such as:

* records can replace JavaBeans everywhere

* you never need to write `hashCode()` for records

* pattern matching with `instanceof` is the best tool for `equals()` 

* just ignore`--illegal-access` and set it to `permit`

* `synchronize (new Long(42))` is the best for monitoring and so on.


Please join this session to learn how harmful following such mantras can be and how to avoid some obvious misunderstandings about modern Java.