Friday, June 25, 2021
Java 16 is really awesome when it comes to "Hello, World!" programs.
It's also cool for sophisticated systems and algorithms, provided their authors write code that 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.