Hi, I want to write a code for 3d game and I don't know that I need JME or J2ME,please help me! thanks.
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. JME was J2ME, as JSE was J2SE, JEE was J2EE etc. So there's no difference.
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.
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.