I stopped learning and programming Java and JEE 12 years ago. Since then, too many things had happened in the field and today I am starting a collection of posts trying to refresh my knowledge about the technology that was revolutionary in the 90's and mainstream in the 00's.
So today, I will start with the basics.
According to dev.java latest version of Java is 17. Wow! I was once certified in JSE 1.4 👴🏻 There is a good collection of articles there about how to learn Java in that web page, that covers from the basics to the JVM. If I finally want to fully refresh my Java dev skills probably I would start there.
However, I was more interested in understanding the history and evolution of Java since version 1.4 to nowadays to catch up fast on the features that were added and how to leverage them. So the answer is in the Wikipedia's article about version history. If you are planning to recycle yourself, it is worth to spend some time to see the evolution and features that were added in every version. And probably you will need a bit more time to understand the impact of every feature.
I found the following as the most relevant features introduced during these years:
- J2SE 5.0: introduction of generics and metadata (aka annotations)
- Java SE 6: Support for pluggable annotations
- Java SE 7: JVM support for dynamic languages
- Java SE 8: Language-level support for lambda expressions and default methods, Project Nashorn (which I know that is now depretated)
- Java SE 9: Modularization of the JDK under Project Jigsaw
In my light reading exercise I did not find any deep transformation in the language after Java SE 10, but I may be completely wrong.
BTW, Oracle is still the owner of the Java trademark.
This will be covered in a future blog entry, but let's anticipate a few spoilers:
- Java Platform, Enterprise Edition (Java EE) was maintained by Oracle until version 8
- On September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation. Oracle owns the trademark for the name "Java" and renamed the Java EE platform to Jakarta EE. Latest version of Jakarta EE is 9.1 (May 25 2021), with JDK 11 support
- In parallel, Microprofile project was created as an open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with a goal of standardization.
What do you think? Any important topic I am missing? I appreciate your feedback