Java Language
Java-версии, версии, выпуски и дистрибутивы
Поиск…
Различия между 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.
- Взято из документации Oracle
Версии 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 |
Примечания:
Ссылки на онлайн-копии документации соответствующих выпусков на веб-сайте Oracle. Документация для многих старых версий больше не доступна в Интернете, хотя ее обычно можно загрузить из Oracle Java Archives.
Большинство исторических версий Java SE прошли официальные даты окончания жизни. Когда версия Java проходит эту веху, Oracle перестает предоставлять для нее бесплатные обновления. Обновления по-прежнему доступны для клиентов с контрактами на поддержку.
Источник:
- Дата выпуска JDK от Roedy Green от Canadian Mind Products
Основные сведения о версии 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. |
Источник:
- Википедия: история версий Java