简体   繁体   中英

What is correct about the different Java platforms?

I have read the link below and I have some questions regarding Java. Is Java Standard Edition a specification the same way as Java Enterprise Edition, and the Java Runtime Environment is the Virtual Machine the same Glassfish is the VM and runtime for Enterprise Edition?

If so, are there other alternatives to to the Java SE VM the same way you can choose between Glassfish, JBoss etc?

http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html

When people say Java they usually refer to the Java Standard Edition. But technically Java is a set of specifications (the language specification, the VM specification). Any one can implement a VM that conforms to these specifications. For a list of JVMs please refer http://en.wikipedia.org/wiki/List_of_Java_virtual_machines .

There are some alternatives.

One I know is JRocket

J2SE is in itself supported by a specification (see JSR270 ) but J2SE does not include the defining rules for implementing a Java Virtual Machine (JVM). Although the JVM is defined by a specification , you probably are referring to the definition of the language itself which is defined in yet another specification (the JLS ).

Regarding the JVM, there are several implementations (as with J2EE). This SO question lists several.

Back to your main question, though. The J2SE spec defines a collection of a basic set of support services that Java applications commonly use. If you look at it, the specification is basically an index for other specifications that then describe each of those technologies. Don't confuse specification (the JSR) with the reference implementation, which is the actual implementation of that specification (which is what you download from Oracle when getting the J2SE package).

Just to sum it up:

  • Specification that defines the Java language: JSR 901
  • Specification for the JVM: JSR 924
  • J2SE: JSR 270

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM