OCP 1.6 or JAVA SE 7 programmer 1 - java

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)

Related

Deprecated Java EE in JDK 9 and later versions

I want to know why JDK 9 no longer has the Java EE version. I was reading that since the JDK 9 version no longer has Java EE, then Java EE's own functions would appear as deprecated. Do you know how to solve this problem?
I want to know why JDK 9 no longer has the JAVA EE version.
Java EE / J2EE was never part of Java SE releases (JDK / JRE). While the version numbering was similar, this was largely a "marketing thing". Certainly the SE and EE release cycles were not the same.
Anyway, Oracle has passed control of Java EE over to the Eclipse Foundation; see Jakarta EE 8: The new era of Java EE explained
I was reading that java ee's own functions would appear as deprecated.
If someone actually wrote that Java EE is dead or "deprecated", they are incorrect. (Or at least, they are out of date.)
Java EE has now become Jakarta EE, and Jakarta EE has a clear future (see link above)
Even if it didn't have a clear future, that wouldn't amount to deprecation.
Do you know how to solve this problem?
I don't think there is a problem to solve.
The reality is that Oracle had lost interest in Java EE1, and progress under Oracle's stewardship had ground to a virtual halt. Jakarta EE is effectively a reboot.
While predicting the future is difficult, there are reasons to believe that both Java/Jakata EE vendors and Java EE/Jakata users will be better of with the new model. The first test will be the upcoming Jakarta EE 9 release which is scheduled for August / September 2020. (Check the Jakarta EE 9 home page for the latest news on the schedule.)
This Eclipse newsletter from last year gives a taster of what should be in the release:
Jakarta EE 9 - 2019 Outlook
1 - Java EE / Jakarta EE is essentially a set of specifications. Writing and maintaining high quality specifications is expensive. Since Oracle didn't have any significant (money making) Java EE products, Oracle management decided that it was not worth continuing to invest in that aspect of Java. Passing control to an other organization was the responsible thing to do. The renaming was necessary for legal reasons; e.g. protecting Oracle's Java trademark.

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.

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

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

Is there any difference between JME and J2ME?

I want to write a code for 3d game and I don't know that I need JME or J2ME,please help me!
thanks.
There seems to be some confusion in the answers here.
JME is short for jMonkey Engine framework which is "a high-performance, 3D scenegraph based graphics API, written in Java"
Java ME (formerly J2ME) is "a Java platform designed for mobile devices and embedded systems"
That is all.
Back when Java 5 or 6 was released Sun officially declared the 1 in 1.x for Java redundant and only retained for program compatibility - externally the version is referred to as just x. So the JVM which returns version 1.6.0 is called Java 6.
So there is no difference because Sun dropped the 2 at the same time that they changed to Java x instead of J2SE 1.x. Simple reasoning works backward from Java 6 to Java 5, Java 4, Java 3, Java 2 and Java 1. Having Java 3 - 6 referred to as J2SE n is confusing since in long form that means "Java n" is "Java 2 Standard Edition n". Hence, J2xE were all changed to Java xE.
These days it's much easier to refer to Java 1 through Java 7 to indicate the Java version you are talking about. The simple conclusion is, in hindsight which is always 20-20, Java 2 should never have been branded Java 1.2, it should have been 2.0.
No difference. The "2" was dropped because the standard moved on. Now it's Java SE for standard edition, Java EE for enterprise edition, and Java ME for mobile edition.
Sun renamed all their APIs recently. Java ME was J2ME, as Java SE was J2SE, Java EE was J2EE etc. So there's no difference.

Categories