I've been writing more Twitter threads since the beginning of 2021 and I really enjoy it. It's challenging but rewarding to cut a topic into a dozen little pieces that tell a story yet stand on their own. Judging by your reception, you like them, too. So they'll keep coming! 😃
I'll also collect all threads in this thread of threads. 🧵² From modules to serialization, from pattern matching to value types, form generics to networking, whether it's new versions or upcoming JEPs - here they all are (and many more to come). Enjoy, like, retweet. ❤️
Why it's impractical to generate module declaration (module-info.java) from build tool config (e.g. pom.xml) or vice versa
Why it's impractical to generate module declaration (module-info.java) from build tool config (e.g. pom.xml) or vice versa
Project Amber progress report on pattern matching
Serialization in Java: Why does it exist? What are the problems? Would Java have been better off without it? Can it be fixed?
Serialization in Java: Why does it exist? What are the problems? Would Java have been better off without it? Can it be fixed?
How Java got all the defaults wrong (nullable references, mutable fields, non-private visibility, etc.) and still succeeded
How Java got all the defaults wrong (nullable references, mutable fields, non-private visibility, etc.) and still succeeded
5 things you should know about pattern matching that are more general than type patterns with `instanceof`
5 things you should know about pattern matching that are more general than type patterns with `instanceof`
Type pattern details - why, how, what for (now and later)?
Type pattern details - why, how, what for (now and later)?
Primitive classes (formerly known as value types) are coming
Primitive classes (formerly known as value types) are coming
The path towards better serialization
11 new features in #Java16
What exact APIs are internal (with regards to strong encapsulation)?
What exact APIs are internal (with regards to strong encapsulation)?
A tour of JEPs 400-409
Java's core principles that make it so well-suited to writing safe, useful, performant, and maintainable code (as per John Rose)
Java's core principles that make it so well-suited to writing safe, useful, performant, and maintainable code (as per John Rose)
How bounded type parameters (like `<T extends Number>`) work and when to (not) use them
How bounded type parameters (like `<T extends Number>`) work and when to (not) use them
10 things that make Java quicker than you think - from var to records, from collection factories to HTTP/2 client, from jshell to script support
10 things that make Java quicker than you think - from var to records, from collection factories to HTTP/2 client, from jshell to script support
Recent & upcoming changes to networking in the JDK: reactive HTTP/2, refactoring for Loom, Unix domain sockets, HTTP/3
Recent & upcoming changes to networking in the JDK: reactive HTTP/2, refactoring for Loom, Unix domain sockets, HTTP/3
JEP 406 - part I: Pattern matching in `switch` statements and expressions
JEP 406 - part II: Improved `null`-handling in `switch` (all of them, not just for pattern switches).
JEP 406 - part II: Improved `null`-handling in `switch` (all of them, not just for pattern switches).
Why do Java's text block start with """ *and* a newline?!
Why do Java's text block start with """ *and* a newline?!
JEP 406 - part III: How guarded patterns allow refining patterns elegantly in `switch` and elsewhere.
JEP 406 - part III: How guarded patterns allow refining patterns elegantly in `switch` and elsewhere.
What Project Valhalla is really about.
Improvements to the random (number) generator API.
Improvements to the random (number) generator API.
11 #Java tricks
#JDK18 feature list
Concurrency vs parallelism
A primer for "structured concurrency"
Some practical experiments with virtual threads and structured concurrency
Some practical experiments with virtual threads and structured concurrency
Why Java erases generic type information
How to embed compiled and tested code in Javadoc
How to embed compiled and tested code in Javadoc
#JDK 18 features
How frameworks/libraries can better support modules
How frameworks/libraries can better support modules
A two-tweeter on stable sorting