Поиск…


Различия между Java SE JRE или Java SE JDK

Sun / Oracle выпуски Java SE представлены в двух формах: JRE и JDK. Говоря простыми словами, JRE поддерживают запуск Java-приложений, а JDK также поддерживают разработку Java.

Java Runtime Environment

Java Runtime Environment или JRE-дистрибутивы состоят из набора библиотек и инструментов, необходимых для запуска и управления приложениями Java. Инструменты в типичной современной JRE включают:

  • java команда для запуска Java-программы в JVM (виртуальная машина Java)
  • Команда jjs для запуска движка Nashorn Javascript.
  • Команда keytool для манипуляции Java-хранилищами.
  • Команда policytool для редактирования политик безопасности изолированной policytool .
  • Инструменты pack200 и unpack200 для упаковки и распаковки файла «pack200» для веб-развертывания.
  • orbd , rmid , rmiregistry и tnameserv которые поддерживают приложения Java CORBA и RMI.

Установщики Desktop JRE включают плагин Java, подходящий для некоторых веб-браузеров. Это преднамеренно исключено из «Server JRE» installers.linux syscall read benchmarku

Начиная с версии Java 7 6, установщики JRE включили JavaFX (версия 2.2 или новее).

Java Development Kit

Набор Java Development Kit или JDK включает инструменты JRE и дополнительные инструменты для разработки программного обеспечения Java. Дополнительные инструменты обычно включают:

  • Команда javac , которая компилирует исходный код Java («.java») в байт-код файлов («.class»).
  • Инструменты для создания JAR-файлов, таких как jar и jarsigner
  • Средства разработки, такие как:
    • appletviewer для запуска апплетов
    • idlj компилятор CORBA IDL для Java
    • javah генератор-заглушка JNI
    • native2ascii для преобразования набора символов исходного кода Java
    • schemagen генератор схемы Java-XML (часть JAXB)
    • serialver генерирует строку версии Serialization Java Object.
    • инструменты поддержки wsgen и wsimport для JAX-WS
  • Диагностические инструменты, такие как:
    • jdb базовый отладчик Java
    • jmap и jhat для демпинга и анализа кучи Java.
    • jstack для получения дампа потока потоков.
    • javap для изучения файлов «.class».
  • Инструменты управления приложениями и мониторинга, такие как:
    • jconsole - консоль управления,
    • jstat , jstatd , jinfo и jps для мониторинга приложений

Типичная установка Sun / Oracle JDK также включает ZIP-файл с исходным кодом библиотек Java. До появления Java 6 это был единственный общедоступный исходный код Java.

Начиная с Java 6, полный исходный код для OpenJDK доступен для загрузки с сайта OpenJDK. Обычно он не входит в пакеты JDK (Linux), но доступен как отдельный пакет.

В чем разница между Oracle Hotspot и OpenJDK

Ортогональная JRE по сравнению с JDK-дихотомией, есть два типа выпусков Java, которые широко доступны:

  • Релизы Oracle Hotspot - это те, которые вы загружаете с сайтов загрузки Oracle.
  • Выпуски OpenJDK - это те, которые построены (как правило, сторонними поставщиками) из исходных репозиториев OpenJDK.

В функциональных терминах существует небольшая разница между выпуском Hotspot и выпуском OpenJDK. В Hotspot есть несколько дополнительных «корпоративных» функций, которые могут использовать клиенты Oracle (оплачивающие) Java, но кроме того, одна и та же технология присутствует как в Hotspot, так и в OpenJDK.

Еще одно преимущество Hotspot над OpenJDK заключается в том, что выпуски исправлений для Hotspot, как правило, доступны чуть раньше. Это также зависит от того, насколько гибким является ваш поставщик OpenJDK; например, сколько времени потребуется команде разработчиков дистрибутива Linux для подготовки и QA новой сборки OpenJDK и получить ее в своих публичных хранилищах.

С другой стороны, выпуски Hotspot недоступны из репозиториев пакетов для большинства дистрибутивов Linux. Это означает, что сохранение вашего программного обеспечения Java на современном компьютере Linux обычно более эффективно, если вы используете Hotspot.

Различия между Java EE, Java SE, Java ME и JavaFX

Технология Java - это язык программирования и платформа. Язык программирования Java - это высокоуровневый объектно-ориентированный язык с особым синтаксисом и стилем. Java-платформа - это особая среда, в которой работают приложения языка Java.

Существует несколько платформ Java. Многие разработчики, даже давние разработчики языка Java, не понимают, как разные платформы связаны друг с другом.

Языковые платформы Java

Существует четыре платформы языка программирования Java:

  • Платформа Java, стандартная версия (Java SE)

  • Платформа Java, Enterprise Edition (Java EE)

  • Java Platform, Micro Edition (Java ME)

  • Java FX

Все платформы Java состоят из виртуальной машины Java (VM) и интерфейса прикладного программирования (API). Виртуальная машина Java - это программа для конкретной аппаратной и программной платформы, которая запускает приложения для Java-технологий. API представляет собой набор программных компонентов, которые можно использовать для создания других программных компонентов или приложений. Каждая платформа Java предоставляет виртуальную машину и API, что позволяет приложениям, написанным для этой платформы, работать на любой совместимой системе со всеми преимуществами языка программирования Java: независимость от платформы, мощность, стабильность, простота разработки и безопасность.

Java SE

Когда большинство людей думает о языке программирования Java, они думают о Java SE API. API Java SE обеспечивает основные функциональные возможности языка программирования Java. Он определяет все, от базовых типов и объектов языка программирования Java до классов высокого уровня, которые используются для создания сетей, обеспечения безопасности, доступа к базе данных, разработки графического интерфейса пользователя (GUI) и анализа XML.

В дополнение к основному API платформа Java SE состоит из виртуальной машины, средств разработки, технологий развертывания и других библиотек классов и наборов инструментов, обычно используемых в приложениях Java.

Java EE

Платформа Java EE построена поверх платформы Java SE. Платформа Java EE обеспечивает среду API и среду выполнения для разработки и запуска широкомасштабных многоуровневых, масштабируемых, надежных и безопасных сетевых приложений.

Java ME

Платформа Java ME предоставляет API и небольшую виртуальную машину для запуска приложений Java для программирования на небольших устройствах, таких как мобильные телефоны. API - это подмножество Java SE API, а также специальные библиотеки классов, полезные для разработки небольших приложений. Приложения Java ME часто являются клиентами служб платформы Java EE.

Java FX

Технология Java FX - это платформа для создания богатых интернет-приложений, написанных на Java FX ScriptTM. Java FX Script - это статически типизированный декларативный язык, который скомпилирован в байт-код Java-технологии, который затем может быть запущен на виртуальной машине Java. Приложения, написанные для платформы Java FX, могут включать и связываться с языковыми классами Java-программирования и могут быть клиентами служб платформы Java EE.


Версии Java SE

История версий Java SE

В следующей таблице приведены сроки значительных основных версий платформы Java SE.

Java SE Version 1 Кодовое имя Окончание срока службы (бесплатно 2 ) Дата выхода
Java SE 9 (ранний доступ) Никто будущее 2017-07-27 (по оценкам)
Java SE 8 Никто будущее 2014-03-18
Java SE 7 дельфин 2015-04-14 2011-07-28
Java SE 6 мустанг 2013-04-16 2006-12-23
Java SE 5 тигр 2009-11-04 2004-10-04
Java SE 1.4.2 Богомол до 2009-11-04 2003-06-26
Java SE 1.4.1 Хоппер / Кузнечик до 2009-11-04 2002-09-16
Java SE 1.4 Мерлин до 2009-11-04 2002-02-06
Java SE 1.3.1 Божья коровка до 2009-11-04 2001-05-17
Java SE 1.3 Пустельга до 2009-11-04 2000-05-08
Java SE 1.2 Детская площадка до 2009-11-04 1998-12-08
Java SE 1.1 бенгальский огонь до 2009-11-04 1997-02-19
Java SE 1.0 дуб до 2009-11-04 1996-01-21

Примечания:

  1. Ссылки на онлайн-копии документации соответствующих выпусков на веб-сайте Oracle. Документация для многих старых версий больше не доступна в Интернете, хотя ее обычно можно загрузить из Oracle Java Archives.

  2. Большинство исторических версий Java SE прошли официальные даты окончания жизни. Когда версия Java проходит эту веху, Oracle перестает предоставлять для нее бесплатные обновления. Обновления по-прежнему доступны для клиентов с контрактами на поддержку.

Источник:

Основные сведения о версии Java SE

Версия Java SE Особенности
Java SE 8 Лямбда-выражения и потоки, созданные с помощью MapReduce. Двигатель Nashorn Javascript. Аннотации по типам и повторяющиеся аннотации. Неподписанные арифметические расширения. Новые API дат и времени. Статически связанные библиотеки JNI. Пусковая установка JavaFX. Удаление PermGen.
Java SE 7 Строковые переключатели, try-with-resource , алмаз ( <> ), улучшенные числовые литералы и улучшения обработки / восстановления исключений. Расширения библиотеки параллелизма. Расширенная поддержка для родных файловых систем. Timsort. Криптографические алгоритмы ECC. Улучшена поддержка 2D-графики (GPU). Вставляемые аннотации.
Java SE 6 Значительные улучшения производительности платформы JVM и Swing. API языка сценариев и движок Javascript Mozilla Rhino. JDBC 4.0. API компилятора. JAXB 2.0. Поддержка веб-сервисов (JAX-WS)
Java SE 5 Generics, аннотации, авто-бокс, классы enum , varargs, улучшенные for циклов и статический импорт. Спецификация модели памяти Java. Улучшения Swing и RMI. Добавление пакета java.util.concurrent.* И Scanner .
Java SE 1.4 Ключевое слово assert . Классы регулярных выражений. Цепочка исключений. NIO API - неблокирующий ввод-вывод, Buffer и Channel . java.util.logging.* API. API ввода-вывода изображений. Интегрированный XML и XSLT (JAXP). Интегрированная безопасность и криптография (JCE, JSSE, JAAS). Встроенный Java Web Start. API настроек.
Java SE 1.3 Включен JVM HotSpot. Интеграция CORBA / RMI. Интерфейс именования и интерфейса Java (JNDI). Рамка отладчика (JPDA). API JavaSound. Proxy API.
Java SE 1.2 Ключевое слово strictfp . Swing API. Плагин Java (для веб-браузеров). CORBA. Структура коллекций.
Java SE 1.1 Внутренние классы. Отражение. JDBC. RMI. Unicode / символьные потоки. Поддержка интернационализации. Капитальный ремонт модели событий AWT. JavaBeans.

Источник:



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow