- https://github.com/wesleyegberto/java-new-features (terse, includes links to JEPs, good jumping off point)
- https://github.com/winterbe/java8-tutorial (quick tour through features of Java 8)
- https://winterbe.com/posts/2018/09/24/java-11-tutorial/ (same for Java 11)
Books:
- Java 8 in Action / Modern Java in Action (Raoul-Gabriel Urma, Alan Mycroft, Mario Fusco; 2014 and 2018 respectively)
- The Well-Grounded Java Developer (Martijn Verburg, Benjamin Evans, Jason Clark; 2022) - not specifically focused on new features but does cover them in the context of going deeper into Java and the JVM.
- https://www.baeldung.com/new-java-9,
- https://www.baeldung.com/java-10-overview,
- https://www.baeldung.com/java-11-new-features,
- https://www.baeldung.com/java-12-new-features,
- https://www.baeldung.com/java-13-new-features,
- https://www.baeldung.com/java-14-new-features,
- https://www.baeldung.com/java-15-new,
- https://www.baeldung.com/java-16-new-features,
- https://www.baeldung.com/java-17-new-features,
- https://www.developer.com/java/java-18-features/,
- https://www.infoworld.com/article/3676699/jdk-20-the-new-fea...
- https://www.infoworld.com/article/3653331/jdk-19-the-new-fea...,
The other day I did something similar for cell biology. As a layman I wanted to learn more about DNA, mRNA, tRNA, translation, transcription, mitosis, miosis, etc. I think I learned it much better by querying Chat GPT than say reading Wikipedia. Something about the interaction, to ask for more details on what was not clear that helped me understand it.
My wife, a physician, reported similar errors when I got her to ask it medical questions.
Using chatgpt to learn about something new is flat out dangerous.
> The Byzantine Generals Problem is a more difficult problem than the Two Generals Problem because it requires a consensus algorithm that can tolerate the presence of faulty actors. There are many solutions to the Byzantine Generals Problem, including Byzantine Fault Tolerance, which is a common technique used in distributed systems to ensure that the system can continue to operate correctly even in the presence of faulty actors.
One can't jump over a chasm, you have to literately bridge from the known to the unknown.
https://privatebin.net/?45ed3f39de71f289#eyiwC81q93MtfpimZBH...
I then ask it so summarize and ELI15. If ChatGPT is feeding you bogus knowledge then you are already consuming bogus knowledge over your existing channels. If you aren't including feedback into your understanding you are recording, not learning.
For example, I asked ChatGPT about the meaning of a non-existing verb ("to spoink"). It originally said the word didn't exist, but when I said "are you sure? we talked about it before, it's something to do with trifle" it invented an entire episode of the IT Crowd (Season 3, Episode 3), talked at length about how that word appeared twice. It claimed that one character - Moss - created it as the sound a metal ball would make if it hit a hard surface, and also that it's what happens when you leave a trifle out uncovered in the open and it goes lumpy. It's creative, but it's nonsense.
Very few humans could pull this off convincingly or would even attempt it. They would say "no we didn't talk about the verb 'to spoink' that sounds like nonsense".
Trained on data up to September 2021.
Wrap the ChatGPT API in a ReAct pattern implementation where one of its available actions is a search against the Java 20 docs?
Probably better for reference than tutorial, though.