I am starting to learn java from scratch after a long time and just noticed Java SE 11 and 13 on oracle site. My understanding was that Java 8 is the latest java edition as of now, is that not right ? what is Java SE 11 and 13. Is java moved from Java 8 to 11 and 13. what is this shift and how is it progressing.
I have started learning from Head first java book 2nd edition, am I on the right track or is there any better way to learn. Please guide me how I should go about learning java,I want to start with basics but want to quickly become a skilled practitioner on core and advanced java.
Java is being released in iterations of roughly half a year per major version. Some of those releases introduce experimental features that may disappear in later versions of the language. Versions that commit to all the features that they contain are called "Long Term Support" versions and they will also receive security updates for a longer period of time than the other versions do.
Java 8 and Java 11 are LTS versions. Java 13 is the latest non-LTS version.
I recommend sticking to LTS versions, unless you want to play around with the experimental language features. I have both Java 8 and Java 11 installed on most of my systems. Java 11 is what I do most of my development with, but I also keep Java 8 around because it was the latest version before the module system (Project Jigsaw) was introduced. This was a major change that a lot of other tools had a hard time adapting to. For instance, some of our customers use web-applications that run in application containers that don't support Java 9+.
If you're starting from scratch, I advice you to install Java 11. You can keep using learning materials that target Java 8, all of it is still relevant and it's not hard to learn about the new features later. I advice against anything older than Java 8.