Каковы отношения между JLS, Java и связанными технологиями?

StackOverflow https://stackoverflow.com/questions/3983035

  •  09-10-2019
  •  | 
  •  

Вопрос

Java - это язык, JRE - это среда выполнения, а JDK - это инструменты разработки? JLS - это спецификация, которая говорит, что JRE должен делать x, y, z, и поэтому делает Java тем, что это такое? Правильны ли эти представления, а если нет, может кто -нибудь просветить меня?

Есть ли что -нибудь, что мы думаем, это Java, но не так ли? Я думаю, что слышал об этом об Android - это правда?

Это было полезно?

Решение

В некоторой степени это проблема неоднозначности естественного языка; Некоторые из этих вещей могут означать разные вещи в разное время.

«Java» может относиться к языку Java, как в «Я написал этот удивительный Foowidget в Java». Это также может быть сокращением для платформы Java, включая язык, время выполнения, инструменты и т. Д., Как в «Вам понадобится Java, чтобы использовать это веб -приложение».

JRE означает среду выполнения JAVA и является комплектом API, включенным в Java Virtual Machine. JDK, или Java Development Kit, является набором инструментов разработчиков, включая компилятор Java, отладчик, компилятор Javadoc и т. Д. Смущающе, он также включает JRE (как видно из Eclipse, например, где JDK может быть указан в качестве времени выполнения для проекта).

Спецификация языка Java (JLS) является спецификацией для языка Java. Иными словами, он описывает технические детали того, как реализован язык.

Android - это платформа, на которой код написан на Java, но составлен для работы на виртуальной машине Dalvik, а не на JVM. В этом смысле это на самом деле не Java, но с точки зрения разработчика разница в основном - это библиотечное использование; Синтаксис такой же.

Подобные вопросы:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top