2012-01-03 2 views
2

Я прочитал ссылку ниже, и у меня есть некоторые вопросы относительно Java. Является ли Java Standard Edition спецификацией так же, как Java Enterprise Edition, а Java Runtime Environment является виртуальной машиной, то же самое Glassfish - это VM и среда выполнения для Enterprise Edition?Что касается разных платформ Java?

Если да, есть ли другие альтернативы Java SE VM так же, как вы можете выбирать между Glassfish, JBoss и т. Д.?

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

ответ

1

Есть несколько альтернатив.

Одно я знаю JRocket

+0

IBM имеет JVM, хотя его трудно найти отдельно, его можно найти. Есть еще несколько человек. –

+0

Я вижу, поэтому мои предположения в исходном вопросе правильные? – LuckyLuke

+0

Да, это правильно –

2

Когда люди говорят, что Java они обычно ссылаются на Java Standard Edition. Но технически Java - это набор спецификаций (спецификация языка, спецификация VM). Любой может реализовать виртуальную машину, соответствующую этим спецификациям. Список JVM см. http://en.wikipedia.org/wiki/List_of_Java_virtual_machines.

1

J2SE находится в самой поддержке спецификации (см JSR270), но J2SE делает не включать определяющие правила для реализации виртуальной машины Java (JVM). Хотя JVM определяется specification, вы, вероятно, ссылаетесь на определение самого языка, которое определено в еще одной спецификации (JLS).

Что касается JVM, существует несколько реализаций (как у J2EE). This SO вопрос перечисляет несколько.

Назад к основному вопросу. Спецификация J2SE определяет набор базового набора служб поддержки, которые обычно используют приложения Java. Если вы посмотрите на это, спецификация в основном является индексом для других спецификаций, которые затем описывают каждую из этих технологий. Не путайте спецификацию (JSR) с эталонной реализацией, которая является фактической реализацией этой спецификации (это то, что вы загружаете из Oracle при получении пакета J2SE).

Просто, чтобы подвести итог:

  • Спецификация, которая определяет язык Java: JSR 901
  • Спецификация для виртуальной машины Java: JSR 924
  • J2SE: JSR 270
+0

Могу ли я задать вам еще несколько вопросов по этому поводу в чате Java вместо того, чтобы делать длинный комментарий? – LuckyLuke

Смежные вопросы