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.
Related
Here's the thing:
Me and my teammates are now working on a Java project, but I'm almost new to Java development. The thing is that I recently updated my local Java version to 15.0.2, however, they created the project with JDK 1.8 (Java 8 perhaps?).
We are worried that this might cause some conflicts since our Java versions are not corresponding, and I'm also not familiar with the relationship between Java version and JDK version (Just like Java 8 and JDK 1.8).
Could somebody give me some explanations of this? Thanks a lot!
We are worried that this might cause some conflicts since our Java versions are not corresponding ...
Yes, you could run into problems:
There are significant differences in the Java language and Java standard class libraries between Java 8 and Java 15. Code written for Java 15 using Java 15 may not compile on Java 8.
Java 8 and Java 15 tool chains produce compiled code with different classfile version numbers. Code compiled for Java 15 will not run on a Java 8 platform.
It is possible to work around these problems, but it is much simpler if all project members use the same Java version.
If you are new to Java, my recommendation is to install and use Java 8. Note that it is possible to have different versions of Java installed simultaneously, and use different versions for different projects.
... and I'm also not familiar with the relationship between Java version and JDK version (Just like Java 8 and JDK 1.8).
It is pretty straightforward. Java 8 is JDK 1.8, Java 9 is JDK 1.9, and so on. This started with Java 5 / JDK 1.5
The weird numbering is a result of a Sun Management / Marketing decision when naming Java 5:
"The number "5.0" is used to better reflect the level of maturity, stability, scalability and security of the J2SE."
Source: https://docs.oracle.com/javase/1.5.0/docs/relnotes/version-5.0.html
(You could also say that the people who made this decision didn't understand the principles of semantic version numbering.)
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.
I've seen three possible Java version notations, e.g. Java 8 may be written in the following ways:
Java 8
Java 8 SE
java 1.8
Which is the correct one? I mean which one is usable in academic writing?.
Similar problem with JDK and JRE
If you are writing about Java Standard Edition, then the correct notation will be: Java SE 8, the same rule applies for Enterprise Edition (Java EE 7).
Java 8 and Java 1.8 are the same and Java 8 SE is standard Edition. Java 8 is good for academic writing.
The Java naming and versioning convention is unfortunately complicated. In fact, java versioning has its own Wikipedia page.
Versioning
Java started off its life in 1.0 and 1.1 in the mid 90s. When Java 1.2 was releases it was branded as "Java 2". We had to live with the next few releases with this dual numbering scheme until Java 1.5 when the "1." prefix was dropped and 1.5 officially became 5.0.
Java 8 being referred to as "Java 1.8" is an artifact of this history.
Java Editions
Java SE, the Java Platform, Standard Edition (also known as J2SE until Java 5) is the Java platform used for java desktop and server programs. Java SE is what most people mean when talking about Java.
Other "Editions" are Java ME (Micro Edition) which is a cut down version of Java for embedded devices (including phones) and Java EE (Enterprise Edition) which provides extra libraries on top of Java SE including Java Servlets, EJB, JMS and others used in Java Application Servers.
JRE vs JDK
JRE: Java Runtime Edition
JDK: Java Development Kit
Simply, the JRE is able to run Java progams; the JDK is used to build Java programs.
See Also
Why java is now known as java2?
What is the difference between JVM, JDK, JRE & OpenJDK?
Three of them are valid notations. There is no right or wrong all of them are used.
I don't think using either one of the options should make any difference. All convey the same thing and anyone using Java will know this.
However if you are concerned about academic writing then you can use
Java SE 8
and give reference as Wiki link :)
As per the java spec, java versions can be denoted as java 1.x.x
Java Standard edition (correct notation is Java SE 7)
JDK version can be represented as JDK 1.x.x, similar to JRE as x.
(If the version of JDK is (1.7.0) then the JRE version to be 7)
This question already has answers here:
Getting Started With Java EE [duplicate]
(3 answers)
Closed 8 years ago.
I'm planning to study Java EE but I do not know where to start.
Based on Java EE version history there are technologies present in lower versions which are not available in the higher version. Do I need to learn J2EE 1.4 before learning Java EE 5 or 6? Or is it better to learn the latest version since their purpose of doing it is to improve the previous version.
Can you also suggest some resources on Java EE?
Unless there is a direct need to work on a legacy system, it is perfectly fine to start with the newest version of the Java EE standard.
For starters I'd recommend free tutorials by Marty Hall, especially Configuring & Using Apache Tomcat to get you up and running.
There is also an official Java EE beginners tutorial, The Java EE 7 Tutorial. It is decently written and contains a lot of examples. By the end of it, you should have a pretty good idea where to go next.
As Saul explained, unless you need to work on a legacy system, there is not a single reason to learn an older version of Java EE.
Every version of Java EE is a fully contained platform and doesn't require learning or knowing anything about the previous versions.
In case of 1.4, it's even better to avoid it at all cost. It contains several technologies (mainly EJB 2), that are the embodiment of bad practices. Looking at those will serve no other purpose than to cloud your mind. If possible, stay away from it.
Java EE 6 is a radical departure from the way applications were build in 1.4, and is the recommended version to start working with.
Oracle Java EE Tutorial is the best for beginner. In Java EE scope. there are many frameworks,such as JSP,JSF,Servlet,Spring,Struts and so on.First you should try to focus which framework is more suitable for you and then try to learn it first.
In my opinion, you need to learn J2EE 1.4 before learning Java EE 5 or 6 is good because sometimes we may face to maintain legacy Java EE systems.
But you have no need to maintain legacy systems then you should learn Java EE 6 first.
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.