Java 8 : How can it precede Java 7's general adoption - java

I'm finding more and more news about Java 8 - however, Java 7 is just now being adopted in a lot of places. For example, at my work, we are still on Java 6, even though some of us have Java 7.
Im wondering - what is the limit on Java available versions? How often can we expect a new Java spec to be rolled out and implemented. I always thought that Java 8 would be far in the future, since Java 7 was still evolving.
Maybe there is a good (non tl;dr) official source for these sort of details which I'm missing, if so, please let me know.

The wikipedia page is quite a good source to give you ideas on past release schedule and future dates.
Generally speaking the period between releases is roughly two years. There was a huge gap between 6 and 7 due to Sun being acquired by Oracle and the effort to open source the JDK, I would not however expect this to repeat.
As ever, take any future release date with a pinch of salt. The current date for 8 is Summer 2013 so if I was planning projects I wouldn't be banking on it being available and stable (one or two patch releases) until late 2013.

There were 2 options:
1. Wait with Java SE 7 until all feature are ready
2. Release Java SE 7 now (Summer 2011) and Java SE 8 soon afterwards with the remaining features
Oracle chose option 2.
Note:
Java SE 7 hasn't been released for end users yet, just for developers: https://www.java.com/en/download/faq/java7.xml
There is only a preview version out for Mac OS X: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html
Java SE 6 goes EOL at November 2012 (given that the end user version of Java SE 7 is released at least 6 months before): https://blogs.oracle.com/java/entry/eoling_java_se_6_javafx

Related

How to decide on jdk version - Oracle's shorter release cycle [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am getting confused by the new short release cycle paradigma of Oracle. Here is a table with support dates:
Java 8 has a bigger support window than most of the following Jdk. Java 9 is supposed to be End of support now, same for java 10.
It becomes a non trivial task deciding on a jdk version.
Oracle introduces the therm of Long therm support release. What does this mean for the Non-LTS versions ? Are they similar to the minor releases ?
In the past, Java major releases often tended to be loaded with far-reaching features that had a massive impact on the code that you could and should write, like generics (Java 5), functional constructs (Java 8), and modules (Java 9). Such releases took a long time, and often involved delays for various reasons.
Presumably drawing a lesson from this, Oracle decided to overhaul the development style for Java to be more incremental or "agile", if you like. Instead of having feature-loaded major releases that can sometimes take many years to finish, they want to publish major releases with fewer new features, each in a fixed release schedule every six months.
Java 10 was the first version under this new release model, and Java 9 already got deprecated with the release of Java 10. Java 11, which was released in September 2018 is a Long Term Support (LTS) release with support until 2026 (Source). This is very similar to what many are used to from the Ubuntu release model (On a side note, they even planned to replace the version numbers with something involving the year and month of release or so, similar to what Canonical is doing with Ubuntu, but dropped that idea for some reason).
Using a non-LTS version of Java now implies a commitment to update your software that uses the JDK every 6 month. It shouldn't be as involved as migrating code from one major Java version to another in the past because, as described, the language changes are supposed to happen in a more incremental way, but it's definitely something to consider. If you don't want to make this commitment, you should stick to the LTS versions, which means to stick with Java 8 or Java 11.
For a new "greenfield" project, Java 11 is most probably the best choice by now. But it might be necessary to stick with Java 8 if the toolchain to be used does not fully support Java 11 yet.
I hope this will help.
If you can upgrade to the latest JDK every six month, pick the latest version. Otherwise pick the LTS version; if the next LTS is going to be released soon (before your release date), then you might want to use the latest version and switch to the LTS before your release.
Also, Oracle JDK is now (since 11) fully based on the OpenJDK project, so any OpenJDK build from your favorite vendor might be just as good a choice for you as Oracle JDK -- or even better.

Why should java 9 users switch to java 10?

I wanted to try some of the features provided by the java SE 9 (Module System Quick-Start Guide) http://openjdk.java.net/projects/jigsaw/quick-start, when I try to download Java SE 9 jdk I get this statement "Java SE 9 has reached end of support. Users of Java SE 9 should switch to Java SE 10" why is that so, and should I step away from java 9? can someone give me a technical explanation. Thanks
For starters, Java 9 is no longer getting patched and there's at least one significant bug which will never be fixed. The new Java release cycle means that long-term support will not be given to every release. If you want a stable platform, you must either migrate to Java 10, and then to Java 11 when it's available (which will receive long-term support), or remain on Java 8.
Also var is cool.
Because the "service" model for Java has changed significantly (see the Oracle guidance document for example).
There are specific "long term services" releases (the first one will be Java 11).
All other releases are only supported for a limited amount of time (think: the release of the next Java version, plus some courtesy time).
Of course, that is (kind of) the "production environment" answer. When doing a bit of Java development on the side, there is no pressing reason to move on. On the other hand, when you are using some JDK for "education purposes", then you should simply go forward with each new Java version, simply to be able to learn what "latest greatest" Java has to offer.
why is that so, and should I step away from java 9? can someone give me a technical explanation.
The technical reason for the advice is that since it has been EOL'd Java 9 will not receive any more bug fixes or security patches. (Unless you are prepared to pay for a commercial support contract.) See the Oracle Java SE Support Roadmap.
It is up to you to decide whether that is relevant. (It will depend on whether you will be affected by un-fixed bugs ... and that is hard to predict. But you could track the release notes for the Java 10.0.x releases as the come out to see what fixes you may be missing.)

Why Oracle JDK 9 download ends so early? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I wanted to install JDK 9 on my machine, visited JDK official download page, and was surprised to see,
Java SE 9 has reached end of support. Users of Java SE 9 should switch to Java SE 10. Please visit our Java SE Downloads page to get the current version of Java SE. You will be redirected to the Java SE Downloads page in ... seconds. Please update your bookmarks to the Java SE Downloads page.
I did some googling and Java release history etc. But couldn't find any concrete reason.
I have couple of questions-
Oracle is still supporting the JDK 1.8, but stopped releasing updates to JDK 9, why?
Should I continue using JDK 1.8 for some time and then directly switch to JDK 10?
In the past, Java major releases often tended to be loaded with far-reaching features that had a massive impact on the code that you could and should write, like generics (Java 5) and functional constructs (Java 8).
With Java 9 Oracle introduced a new modularization system (project Jigsaw), that also has a massive impact on the JVM architecture (although, not so much on the language syntax). They had to postpone the release of Java 9 two times because of disagreements on the implementation of that feature with other influential members of the Java community.
Presumably drawing a lesson from this, Oracle decided to overhaul the development style for Java to be more incremental or "agile", if you like. Instead of having feature loaded major releases that can sometimes take many years to finish, they want to publish major releases with less new features each in a fixed release schedule every six months.
Java 9 and Java 10 are the first two versions scheduled with this new release model and Java 9 already got deprecated with the release of Java 10. Java 11, which was released in September 2018 is a Long Term Support (LTS) release with support until 2026. This is very similar to what many are used to from the Ubuntu release model (On a side note, they even planned to replace the version numbers with something involving the year and month of release or so, similar to what Canonical is doing with Ubuntu, but dropped that idea for some reason).
Using a non-LTS version of Java now implies a commitment to update your software that uses the JDK every 6 month. It shouldn't be as involved as migrating code from one major Java version to another in the past because, as described, the language changes are supposed to happen in a more incremental way, but it's definitely something to consider. If you don't want to make this commitment, you should stick to the LTS versions, which means to stick with Java 8 or Java 11.
For a new "greenfield" project, Java 11 is most probably the best choice by now. But it might be necessary to stick with Java 8 if the toolchain to be used does not fully support Java 11 yet.
Apparently in the future Oracle wants to release a LTS version every three years or every 6th release, so the next LTS release to be expected after Java 11 is Java 17 in September 2021.
Oracle transitioned to timeboxed releases. This means you will get a new Java release every 3 months, and a long term release every few years.
The Long Term Releases are expected to be supported for 3 years after the next release, so I wouldn't expect a new LTS release until some time late 2019 or early 2020, as December 2020 is the end of support for JDK 8.

OCP 1.6 or JAVA SE 7 programmer 1

I am having a little bit of knowledge in java and want to study java and do an oracle certification test.
JAVA SE 7 programmer 1 and JAVA SE 7 programmer 2 examinations are available for beta test , which means vary soon we can do the actual examination.
Previously i wanted to do scjp (any equivalent) and to do scwcd as soon as possible.
but now i am confused whether to do 1.6 or 7 because , what is equal to SCJP in SE 7 ,oracle says JAVA SE 7 programmer 1 is equal to associate certificate but added some scjp questions in version 7 and it is a prerequersite to do JAVA SE 7 programmer 2 ,Oracle says JAVA SE 7 programmer 2 is a broaden version of SCJP.
Inorder to do the latest Java EE exam what is the exam i have to choose , what is the prerequersite for Oracles certified Web Component Developer (JAVA SE 7 programmer 1 or JAVA SE 7 programmer 2 )other than SCJP (older versions )
For 1.6 the prerequisite is 1Z0-851:
Java Standard Edition 6 Programmer Certified Professional Exam
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_851
For 1.7 it seems there are some major changes.
You will probably be able to match your exam when it's out. It can be moving fast according to the oracle strategy and their website is not really intuitive neither always up to date so it may sometimes be hard to find what you need.
Keep in mind that the exams aren't usually released just after the JDK. It can takes some time for the guys to make that exam. And if you want to prepare it seriously, you will have to wait for a book, which is probably not written yet...
Remember too that Java 1.8 will follow Java 1.7 very soon, so perhaps in would be a good idea to pass as soon as possible a Java 1.6 SCJP and then perhaps it 2 years upgrade to Java 1.8?
During this time you'll have all the time you want to prepare other certifications, and remember that Java 1.6 wasn't updated for a long time so a lot of projects will probably stay in that version.
Basically there is no prerequisite is need for SCJP 5 or 6 but SCJP (OCPJP) 7 we need to take OCAJP 7 as a prerequisite exam.
Another think is, to take SCWCD, SCJP 6 is enough because the prior exam for SCWCD is any edition of SCJP.
some materials i refer you for your preparation
K&B's SCJP book (study Guide)
EPractize Labs Java Certification Mock Exam Simulator (Study Guide and Mock Exam Simulator)
Java.net (have so many useful articles)

What and Why Java 6 & Java 7?

It's been a while when I received some of the subscription from free resource
talking about the Java updates and many.
I realized that Sun has been taken over by Oracle.
And so Java is now in their control.
Last info I received, is that Java 7 is openly released with its API for public.
And I am interested to grab it on! But, here I'm a bit wondering.
Firstly, about Java 6.
It is located on the Oracle website....
But Java 7 is not stored there.
Instead, it is stored in a different location... on the java.net website.
Actually, why is it separated like that?
Wouldn't it be great if Java 7 was already stored at Oracle also?
It is not BETA anymore, is it ?
Hopefully there's a bit of light for me regarding these questions....
You can get the early access release here
The Open Source project is here
Java 7 is going to be released on 28th July 2011
Java 7 has not been released yet. If everything goes according to schedule, it will be released in a few days.
Since it is not released, any version of Java 7 you might encounter must be a Beta release, (or worse yet, an Alpha release). That said, the process by which Java 7 was put together was quite open, which is the reason that you've probably seen news articles about the contents of Java 7, even though Java 7 isn't really available yet.
Java 7's specifications have been released to the public, but JDK 7 is still in beta under the OpenJDK project.

Categories