Are there significant differences between, say, JDK 7 and JDK 11 (which latter I believe is the newest version of the JDK), where significance is defined by a change which might make someone who has learned an older version have Java lack knowledge or be only familiar with the old implementation of a feature? (Context: I want to learn Java but I don't know which version to start with - this is relevant because different resources teach different versions.)

closed as unclear what you're asking by gnat, Greg Burghardt, amon, Thomas Owens Oct 19 '18 at 10:38

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    you should start with latest edition, although at bare minimum Java 8 is also ok to start with. One book reference to help : amazon.in/Java-Complete-Reference-Herbert-Schildt/dp/9387432297 – Sikorski Oct 18 '18 at 9:27
  • 1
    Java 8 changed the language in pretty fundamental ways. While older books are not wrong, they would teach you outdated ways to solve problems. Consider also whether books fit your learning style, as online resources such as the JDK documentation might be sufficient, especially as you are already familiar with programming. – amon Oct 18 '18 at 11:36
  • 1
    Have you reviewed the change logs for the different JDKs to understand what has changed? Do you think the identified changes are significant for your needs? – Thomas Owens Oct 19 '18 at 10:39
  • @ThomasOwens I presumed that, not knowing the language yet, I wouldn't understand the changelogs. – C. R. Yasuo Oct 20 '18 at 19:09
  • @ThomasOwens Although, looking at them now, you are right to suggest that they would make a good starting point, as I can see how significant changes have been merely by the volume of changes. – C. R. Yasuo Oct 20 '18 at 19:27

The last 'major' release was Java 9.

Now, the schedule was changed for new releases every 6 months, but that doesn't mean a big change every new release.

That change on the calendar enabled more flexibility for developers that work on the updates in adding new features/or correcting bugs to the language without having to wait a long period of time. And if they were about to finish a feature but missed the window, they don't have to wait years to push that, because in 6 months a new version will be released.

As said on the comments by @Sikorski, the latest the better, but in Java 8 were added some really interesting features like lambdas, streams, a new date and time API, and a lot of more stuff. So probably Java 8 would be a good start.

Just showing how Java 8 would be a great start, on Oracle's certifications possibilities, the Java 8 is the last certification path available.

Not the answer you're looking for? Browse other questions tagged or ask your own question.