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

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

Есть ли что-то, что мы считаем Java, но таковым не являемся? Мне кажется, я слышал это об Android — это правда?


person hvgotcodes    schedule 20.10.2010    source источник


Ответы (1)


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

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

JRE означает Java Runtime Environment и представляет собой набор API-интерфейсов, входящих в состав Виртуальной машины Java. JDK, или Java Development Kit, представляет собой набор инструментов разработчика, включая компилятор Java, отладчик , компилятор javadoc и т. д. Как ни странно, он также включает JRE (как видно, например, в Eclipse, где JDK может быть указан в качестве среды выполнения для проекта).

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

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

Похожие вопросы:

person Feanor    schedule 21.10.2010