Windows 64 bit with jdk 8 included что это

Обновлено: 04.07.2024

Здесь есть все, что вам нужно знать о различных версиях и функциях Java.

Примечание переводчика
09 апреля 2020 г. Марко опубликовал новую версию Руководства, в которую добавлено описание Java 14.
Перевод новой версии Руководства предлагается Вашему вниманию.

Исходная информация

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

Если вы хотите узнать больше о конкретной версии, перейдите на сайт AdoptOpenJDK, выберите последнюю версию Java, загрузите и установите ее. Затем вернитесь к этому руководству и узнайте еще кое-что о разных версиях Java.

Какую версию Java я должен использовать?

По состоянию на сентябрь 2019 года Java 13 является последней выпущенной версией Java, с новыми версиями, выходящими каждые 6 месяцев — Java 14 запланирована на март 2020 года, Java 15 на сентябрь 2020 года и т.д. В прошлом циклы выпуска Java были намного длиннее, до 3-5 лет!


С появлением такого количества новых версий в действительности имеются следующие основные сценарии использования:

  • Унаследованные проекты в компаниях часто связаны с использованием Java 8 (см. Раздел «Почему компании все еще застревают на Java 8?» Ниже). Таким образом, вы также будете вынуждены использовать Java 8.
  • Некоторые унаследованные проекты даже работают на Java 1.5 (выпущен в 2004 г.) или 1.6 (выпущен в 2006 г.) — сожалею, друзья!
  • Если вы уверены, что используете самые последние IDE, интегрированные среды и инструменты сборки и запускаете новый проект, вы можете без колебаний использовать Java 11 (LTS) или даже самую последнюю версию Java 13.
  • Есть специальная область разработки Android, где Java в основном застряла на версии Java 7, с доступом к определенному набору функций Java 8. Но вы можете переключиться на использование языка программирования Kotlin.

Почему компании все еще застряли на Java 8?

Существует множество разных причин, по которым компании все еще придерживаются Java 8. Вот некоторые из них:

  • Инструменты сборки (Maven, Gradle и т.д.) и некоторые библиотеки изначально имели ошибки с версиями Java версий> 8 и нуждались в обновлениях. Даже сегодня, например, с Java 9+, некоторые инструменты сборки выводят предупреждения «reflective access» при создании проектов Java, которые просто «не готовы», даже если со сборкой все в порядке.
  • До Java 8 вы в основном использовали JDK-сборки Oracle, и вам не нужно было заботиться о лицензировании. Однако в 2019 году Oracle изменила схему лицензирования, что привело к тому, что Интернет сошел с ума, сказав, что «Java больше не является бесплатной», — и последовало значительное замешательство. Однако на самом деле это не проблема, о чем вы узнаете в разделе «Дистрибутивы Java» данного руководства.
  • В некоторых компаниях действуют политики, позволяющие использовать только версии LTS, и полагаются на поставщиков своих ОС для предоставления этих сборок, что требует времени.

Подводя итог, у вас есть сочетание практических вопросов (обновление ваших инструментов, библиотек, фреймворков) и политических проблем.

Почему некоторые версии Java называются 1.X?

Java до версии 9 просто имела другую схему именования. Итак, Java 8 также может называться 1.8, Java 5 может называться 1.5 и т.д. Когда вы выполнили команду java -version с этими версиями, вы получили такой вывод:

Это просто означает Java 8. С переходом к основанным на времени выпускам с Java 9 также изменилась схема именования, и версии Java больше не имеют префикса 1.x. Теперь номер версии выглядит так:

В чем разница между версиями Java?

Должен ли я изучать конкретную?

Придя из других языков программирования с большими перерывами между выпусками, как, например, Python 2–3, вы можете спросить, применимо ли это к Java.

Очевидно, что это не работает наоборот, скажем, ваша программа использует функции Java 13, которые просто недоступны в Java 8 JVM.

Это означает несколько вещей:

  • Вы не просто «изучаете» конкретную версию Java, например Java 12.
  • Скорее, вам нужно получить хорошую основу для всех языковых возможностей вплоть до Java 8.
  • И затем, из этого руководства вы можете узнать, какие дополнительные функции появились в Java 9-13, чтобы использовать их всегда, когда это возможно.

Каковы примеры этих новых возможностей новых версий Java?

Но, как правило: старые, более длинные циклы выпуска (3-5 лет, вплоть до Java 8) означали множество новых функций в каждом выпуске.

Шестимесячный цикл выпуска означает меньшее количество функций на выпуск, поэтому вы можете быстро освоить языковые функции Java 9-13.

В чем разница между JRE и JDK?

До сих пор мы говорили только о Java. Но что именно означает «Java»?

Во-первых, вам нужно провести различие между JRE (Java Runtime Environment) и JDK (Java Development Kit).

Исторически, вы загружали только JRE, если вас интересовали только программы Java. JRE включает, помимо прочего, виртуальную машину Java (JVM) и инструмент командной строки «java».

Для разработки новых программ на Java вам нужно было загрузить JDK. JDK включает в себя все, что есть в JRE, а также компилятор javac и несколько других инструментов, таких как javadoc (генератор документации Java) и jdb (отладчик Java).

Теперь, почему я говорю в прошедшем времени?

Вплоть до Java 8 веб-сайт Oracle предлагал JRE и JDK в качестве отдельных загрузок, хотя JDK также всегда включал JRE в отдельной папке. В Java 9 это различие практически исчезло, и вы всегда загружаете JDK. Структура каталогов JDK также изменилась, так как в ней больше не было явной папки JRE.

Таким образом, хотя некоторые дистрибутивы (см. Раздел «Дистрибутивы Java») по-прежнему предлагают отдельную загрузку JRE, похоже, существует тенденция предлагать только JDK. Следовательно, теперь мы будем использовать Java и JDK взаимозаменяемо.

Как мне установить Java или JDK?

На данный момент не обращайте внимания на образы Java-Docker, оболочки MSI или пакеты для конкретной платформы. В конце концов, Java — это просто файл .zip; ни больше ни меньше.

Поэтому все, что вам нужно сделать, чтобы установить Java на свой компьютер, — это разархивировать файл jdk-.zip. Вам даже не нужны права администратора для этого.

Ваш распакованный файл Java будет выглядеть так:

Магия происходит в каталоге / bin, который в Windows выглядит следующим образом:

Поэтому все, что вам нужно сделать, это разархивировать этот файл и поместить каталог /bin в переменную PATH, чтобы вы могли вызывать команду java из любого места.

В случае, если вам интересно, установщики с графическим интерфейсом, такие как Oracle или AdoptOpenJDK, выполняет распаковку и изменение переменной PATH вместо вас.

Чтобы убедиться, что вы правильно установили Java, вы можете просто выполнить команду java -version. Если вывод выглядит так, как показано ниже, вы готовы!

Теперь остался один вопрос: откуда вам взять этот .zip файл с Java? Что подводит нас к теме дистрибутивов.

Дистрибутивы Java

Существует множество сайтов, предлагающих загрузку Java (читай: JDK), и неясно, «кто что предлагает и с каким лицензированием». Этот раздел проливает свет на это.

Проект OpenJDK

С точки зрения исходного кода Java (читай: исходный код вашего JRE / JDK) есть только один — на сайте проекта OpenJDK.

Однако это всего лишь исходный код, а не распространяемая сборка (подумайте: ваш файл .zip с скомпилированной командой java для вашей конкретной операционной системы). Теоретически вы и я могли бы создать сборку из этого исходного кода, назвать ее, скажем, MarcoJDK, и начать ее дистрибуцию. Но наш дистрибутив не будет сертифицирован, чтобы можно было называть этот дистрибутив совместимым с Java SE.

Вот почему на практике есть несколько поставщиков, которые фактически создают эти сборки, сертифицируют (см. TCK) и затем распространяют их.

И хотя поставщики не могут, скажем, удалить метод из класса String перед созданием новой сборки Java, они могут добавить брэндинг (вay!) или добавить некоторые другие утилиты (например, CLI), которые они считают полезными. Но в остальном исходный код одинаков для всех дистрибутивов Java.

OpenJDK (от Oracle) и сборки OracleJDK

Один из поставщиков, который создает Java из исходного кода, — это Oracle. Это приводит к двум разным дистрибутивам Java, что поначалу может быть очень запутанными.

    от Oracle (!). Эти сборки бесплатны и не имеют торговой марки, но Oracle не выпустит обновления для более старых версий, скажем, Java 13, как только выйдет Java 14. — это коммерческая сборка под брендом, выпускаемая начиная с изменения лицензии в 2019 году. Это означает, что ее можно использовать бесплатно во время разработки, но вы должны платить Oracle, если используете ее в рабочей среде. При этом вы получаете более длительную поддержку, то есть все обновления дистрибутива и номер телефона, по которому можно позвонить, если с вашей JVM будут проблемы.

Исторически (до Java 8) существовали реальные исходные различия между сборками OpenJDK и сборками OracleJDK, при этом можно было сказать, что OracleJDK был «лучше». Но на сегодняшний день обе версии практически одинаковы, с небольшими отличиями.

Впрочем все сводится к тому, что вам требуется платная коммерческая поддержка (номер телефона) для используемой версии Java.

AdoptOpenJDK

В 2017 году группа участников, разработчиков и поставщиков Java User Group (Amazon, Microsoft, Pivotal, Red Hat и другие) создала сообщество под названием AdoptOpenJDK.

Они предоставляют бесплатные надежные сборки OpenJDK с более длительной доступностью / обновлениями и даже предлагают вам выбор из двух разных виртуальных машин Java: HotSpot и OpenJ9.

Я очень рекомендую ее, если вы хотите установить Java.

Azul Zulu, Amazon Corretto, SAPMachine

Но не забудьте проверить на сайтах дистрибьюторов, чтобы узнать о преимуществах каждого отдельного дистрибутива.

Рекомендация

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

В свою очередь, это означает, что знание всех языковых функций Java 8 дает хорошую базу в изучении Java, а все остальные версии (Java 9-13) в значительной степени дают дополнительные функции поверх этого базового уровня.

Вот краткий обзор того, что конкретные версии могут предложить:

Java 8

Java 8 была массовым выпуском, и вы можете найти список всех функций на веб-сайте Oracle. Здесь я хотел бы упомянуть два основных набора функций:

Особенности языка: лямбды и т.д.

До Java 8 всякий раз, когда вы хотели создать экземпляр, например, нового Runnable, вы должны были написать анонимный внутренний класс, например, так:

С лямбдами тот же код выглядит так:

Вы также получили ссылки на методы, повторяющиеся аннотации, методы по умолчанию для интерфейсов и некоторые другие языковые функции.

Коллекции и потоки

В Java 8 вы также получили операции в функциональном стиле для коллекций, также известные как Stream API. Быстрый пример:

До Java 8, вам нужно было написать циклы for, чтобы что-то сделать с этим списком.

С помощью API Streams вы можете сделать следующее:

Java 9

Java 9 также была довольно большой версией, с несколькими дополнениями:

Коллекции

Коллекции получили несколько новых вспомогательных методов для простого создания списков, наборов и карт.

Streams

Потоки получили несколько дополнений, в виде методов takeWhile, dropWhile и iterate.

Optionals

Optionals получили метод ifPresentOrElse, которого крайне не хватало.

Интерфейсы

Интерфейсы получили private методы:

Другие возможности языка

И пара других улучшений, таких как улучшенный оператор try-with-resources или расширения diamond оператора.

JShell

Наконец, в Java появилась оболочка, в которой вы можете попробовать простые команды и получить немедленные результаты.

В Java 9 у Java появился собственный современный клиент — хотя он находится в режиме превью, что означает, что он может быть изменен в более поздних версиях Java.

Проект Jigsaw: модули Java и файлы Jar с несколькими выпусками

Java 9 получила Jigsaw Module System, которая чем-то напоминает старую добрую спецификацию OSGI. Целью данного руководства не является подробное описание Jigsaw — посмотрите предыдущие ссылки, чтобы узнать больше.

Файлы Multi-Release .jar позволили создать один файл .jar, содержащий разные классы для разных версий JVM. Таким образом, ваша программа может вести себя по-разному / иметь разные классы, используемые при запуске на Java 8 и на Java 10, например.

Java 10

В Java 10 было несколько изменений, таких как сборка мусора и т.д. Но единственное реальное изменение, которое вы, как разработчик, вероятно, заметите, — это введение ключевого слова var, также называемого выводом типа локальной переменной.

Вывод типа локальной переменной: ключевое слово var

Чувствуете себя как в Javascript-е, не так ли? Однако Java все еще строго типизирован и var применяется только к переменным внутри методов (спасибо, dpash, за то, что снова указал на это).

Java 11

Java 11 также была несколько меньшей версией с точки зрения разработчика.

Строки и файлы

Строки и файлы получили несколько новых методов (не все перечислены здесь):

Запустить исходные файлы

Начиная с Java 10, вы можете запускать исходные файлы Java без предварительной компиляции. Шаг к написанию сценариев.

Вывод типа локальной переменной (var) для лямбда-параметров

В заголовке все сказано:

Другие вкусности

Flight Recorder (Регистратор полетов), сборщик мусора No-Op, Nashorn-Javascript-Engine объявлен deprecated (устаревшим) и т.д.

Java 12

В Java 12 появилось несколько новых функций и исправлений, но здесь стоит упомянуть только поддержку Unicode 11 и превью нового выражения switch, о котором вы узнаете в следующем разделе.

Java 13

Вы можете найти полный список возможностей здесь, но, по сути, вы получаете поддержку Unicode 12.1, а также две новые или улучшенные превью функции (могут быть изменены в будущем):

Switch выражение (Preview — предварительная версия)

Выражения переключателя теперь могут возвращать значение. И вы можете использовать лямбда-стиль синтаксиса для своих выражений, без проблем с ошибками:

Старые операторы switch выглядели так:

В то время как в Java 13 операторы switch могут выглядеть так:

Многострочные строки (превью)

Наконец-то вы можете сделать это на Java:

Java 14 и позже

Будет рассмотрено здесь, как только их выпустят. Зайдите в ближайшее время!

Вывод

К настоящему времени у вас должен быть довольно хорошее представление о нескольких вещах:

  • Как установить Java, какую версию получить и где ее получить (подсказка: AdoptOpenJDK).
  • Что такое дистрибутив Java, какие существуют и в чем различия.
  • Каковы различия между конкретными версиями Java.

Обратная связь, исправления и случайный ввод всегда приветствуются! Просто оставьте комментарий внизу.

Спасибо за прочтение!

Там больше, откуда это появилось

Благодарности

Стивен Колебурн написал фантастическую статью о различных доступных дистрибутивах Java. Спасибо, Стивен!

Установка Oracle SQL Developer на Windows 10 и настройка подключения к базе данных

Ранее, в материале «Установка Oracle Database 18c Express Edition (XE) на Windows 10», мы подробно рассмотрели процесс установки системы управления базами данных Oracle Database в бесплатной редакции, сегодня, как было уже отмечено, мы рассмотрим процесс установки бесплатного инструмента с графическим интерфейсом, с помощью которого мы можем подключаться к базе данных Oracle, писать и выполнять различные SQL запросы и инструкции, речь идет о стандартном инструменте – Oracle SQL Developer.

Oracle SQL Developer — это бесплатная графическая среда для работы с базами данных Oracle Database, разработанная компанией Oracle. SQL Developer предназначен для разработки баз данных, бизнес-логики в базах данных, а также для написания и выполнения инструкций на языках SQL и PL/SQL.

Установка Oracle SQL Developer на Windows 10

Сейчас мы рассмотрим те шаги, которые необходимо выполнить, чтобы начать использовать Oracle SQL Developer на Windows 10.

Шаг 1 – Скачивание программы

Oracle SQL Developer доступен на официальном сайте Oracle, и его можно скачать абсолютно бесплатно, единственное, как и в случае с самой СУБД, необходимо авторизоваться или зарегистрироваться на сайте, при этом если Вы скачивали и устанавливали Oracle Database XE, то у Вас уже есть учетная запись Oracle и Вам достаточно авторизоваться на сайте.

Итак, переходим на страницу загрузки Oracle SQL Developer, вот она

Далее, нажимаем на ссылку «Download» в разделе Windows 64-bit with JDK 8 included.

Скриншот 1

После этого соглашаемся с условиями, отметив соответствующую галочку, и нажимаем на кнопку «Download sqldeveloper-20.2.0.175.1842-x64.zip». Если Вы еще не авторизованы на сайте, Вас перенаправит на страницу авторизации (где можно и зарегистрироваться), а если Вы уже авторизованы, то сразу начнется процесс загрузки.

Скриншот 2

В результате у Вас должен загрузиться ZIP-архив «sqldeveloper-20.2.0.175.1842-x64.zip» (на момент написания статьи это актуальная версия) размером около 500 мегабайт, в данном архиве находятся все необходимые для SQL Developer файлы.

Шаг 2 – Распаковка архива и запуск программы

После того как архив загрузится, его необходимо распаковать и запустить файл «sqldeveloper.exe».

При первом запуске у Вас могут спросить, есть ли у Вас сохраненные настройки, которые Вам хотелось бы импортировать, у нас таких нет, отвечаем «No».

Скриншот 3

В результате запустится программа и сначала появится окно, в котором Вас спросят, хотите ли Вы автоматически отправлять отчеты по работе программы в компанию Oracle, если не хотите, то снимите галочку и нажмите «OK».

Скриншот 4

Интерфейс Oracle SQL Developer выглядит следующим образом.

Скриншот 5

Настройка подключения к базе данных Oracle Database 18c Express Edition (XE)

Переходим к настройке подключения к базе данных Oracle Database 18c Express Edition (XE), для этого щелкаем на плюсик и выбираем «New Connection».

Скриншот 6

После чего у Вас откроется окно настройки подключения, необходимо ввести следующие данные:

  • Name – имя подключения (придумываете сами);
  • Username – имя пользователя, в данном случае подключаемся от имени системного пользователя SYS;
  • Password – пароль пользователя SYS, это тот пароль, который Вы задали во время установки Oracle Database XE;
  • Role – SYSDBA (пользовательSYS является администратором сервера, поэтому выбираем соответствующую роль);
  • Hostname – адрес сервера, если Oracle Database установлен на этом же компьютере, то в поле оставляем Localhost;
  • Port – порт подключения, по умолчанию 1521;
  • Servicename – имя подключаемой базы данных Oracle Database. По умолчанию в Oracle Database 18c Express Edition (XE) создается база данных с именем XEPDB1, поэтому чтобы сразу подключиться к этой базе, вводим в это поле ее название, т.е. XEPDB

Скриншот 7

Чтобы проверить корректность всех введенных настроек, можно нажать на кнопку Test, и если Вы получили ответ в строке состояния «Успех», т.е. «Status: Success», то это означает, что все хорошо, сервер доступен и мы можем к нему подключиться с указанными настройками подключения.

Для сохранения подключения нажимаем «Save».

Скриншот 8

В результате Вы подключитесь к серверу и у Вас отобразится обозреватель объектов и окно для написания SQL запросов.

Скриншот 9

В Oracle Database 18c Express Edition (XE) есть схема «HR», которую можно использовать, например, для изучения языка SQL.

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

JavaDK-1.jpg

Java Development Kit - это бесплатно распространяемый комплект разработчика приложений на языке Java. Он включает в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). Распространитель комплекта - это компания Oracle Corporation (ранее называлась Sun Microsystems). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.

Содержание

История

Компания Sun Microsystems активно развивала и обновляла JDK, почти каждый год выходили новые версии. В 1996 г. была выпущена первая версия — JDK 1.0, которая модифицировалась до версии с номером 1.0.2. В этой версии библиотека классов Java API содержала 8 пакетов. Весь набор JDK 1.0.2 поставлялся в упакованном виде в одном файле размером около 5 Мбайт, а после распаковки занимал на диске около 8 Мбайт.

В 1997 г. появилась версия JDK 1.1, последняя ее модификация, 1.1.8, выпущена в 1998 г. В этой версии было 23 пакета классов, занимала она 8,5 Мбайт в упакованном виде и около 30 Мбайт — в распакованном. В первых версиях JDK все пакеты библиотеки Java API были упакованы в один архивный файл classes.zip и вызывались непосредственно из этого архива, его не нужно было распаковывать. Затем набор инструментальных средств JDK был сильно переработан.

Версия JDK 1.2 вышла в декабре 1998 г. и содержала уже 57 пакетов классов. В архивном виде это файл размером почти 20 Мбайт и еще отдельный файл размером более 17 Мбайт с упакованной документацией. Полная версия располагается на 130 Мбайт дискового пространства, из них около 80 Мбайт занимает документация. Начиная с этой версии, все продукты технологии Java собственного производства компания Sun стала называть Java 2 Platform, Standard Edition, сокращенно J2SE, а в литературе утвердилось название Java 2. Кроме 57 пакетов классов, обязательных на любой платформе и получивших название Core API, в Java 2 JDK 1.2 входят еще дополнительные пакеты классов, называемые en:Standard Extension API.

В версии J2SE JDK 1.5.0, вышедшей в конце 2004 г., было уже под сотню пакетов, составляющих Core API (Application Programming Interface). В упакованном виде — это файл размером около 46 Мбайт и необязательный файл с упакованной документацией такого же размера. В это же время произошло очередное переименование технологии. Из версии убрали первую цифру и стали писать Java 2 Platform, Standard Edition 5.0, сокращенно J2SE 5.0 и JDK 5.0, хотя во внутрифирменной документации сохраняется название JDK 1.5.0. Последнее обновление J2SE 5.0, JDK 1.5.0_22, было выпущено 3 ноября 2009 года.

В шестой версии, вышедшей в начале 2007 г., из названия технологии убрали цифру 2 и стали писать Java Platform, Standard Edition 6, сокращенно — Java SE 6 и JDK 6. Впрочем, во внутрифирменной документации остается прежнее обозначение, например последнее на момент написания книги обновление обозначается JDK 1.6.0_26. Летом 2011 года появилась седьмая версия Java SE 7 и распространяется JDK 1.7.0.

Java SE JDK создается для каждой платформы: MS Windows, Solaris, Linux, отдельно, а документация написана на языке HTML и одинакова на всех платформах [Источник 1] .

Программы и классы, входящие в JDK

Набор программ и классов JDK содержит:

  • компилятор из исходного текста в байт-коды javac;
  • интерпретатор java, содержащий реализацию en:JVM;
  • облегченный интерпретатор jre (в последних версиях отсутствует);
  • программу просмотра апплетов appletviewer, заменяющую браузер;
  • отладчик jdb;
  • дизассемблер javap;
  • программу архивации и сжатия jar;
  • программу сбора и генерирования документации en:javadoc;
  • программу генерации заголовочных файлов языка C для создания "родных" методов javah;
  • программу генерации электронных ключей keytool;
  • программу native2ascii, преобразующую бинарные файлы в текстовые;
  • программы rmic иrmiregistry для работы с удаленными объектами;
  • программу serialver, определяющую номер версии класса;
  • библиотеки и заголовочные файлы "родных" методов;
  • библиотеку классов Java API (en:Application Programming Interface).

Версии

JDK имеет следующие версии:

  • JDK 1.0 (23.01.1996).
  • JDK 1.1 (19.02.1997).
  • J2SE 1.2 (08.12.1998).
  • J2SE 1.3 (08.05.2000).
  • J2SE 1.4 (06.02.2002).
  • J2SE 5.0 (30.09.2004).
  • Java SE 6 (11.12.2006).
  • Java SE 7 (07.07.2011).
  • Java SE 8 (18.03.2014).
  • Java SE 9 (21.09.2017).
  • Java SE 10 (20.03.2018).
  • Java SE 11 (25.09.2018).
  • Java SE 12 (19.03.2019).

Различие между JDK, SDK и ADK

en:SDK - это стандартный набор для разработки. Это не относится к Java, так как вы можете иметь SDK практически для любого языка. Это в значительной степени просто термин для пакета, в котором есть инструменты для создания материала с использованием его связанного языка.

JDK - это комплект разработки Java. Это то, что вы будете использовать для разработки Java-приложений. Он содержит файлы jar, библиотеки и инструменты, позволяющие вам писать и компилировать java-файлы, которые могут работать в JRE (среда выполнения java). Если в вашей системе установлен только JDK, то вам будет сложно разрабатывать для Android, так как пакеты с ключами отсутствуют. Вы должны будете установить их самостоятельно.

en:ADK - это комплект разработчика Android. По сути, это Java, но он настроен под код en:Android. Он также содержит поддержку эмуляторов и инструментов для разработки приложений для Android. Вы можете писать обычные Java-приложения OLE с помощью ADK, поскольку по своей сути это Java. Просто есть много других классов, которые работают специально для разработки Android. [Источник 2] .

Разница между JDK и JRE

"JDK" является Java Development Kit. То есть, это комплект JDK программного обеспечения, которое можно использовать для разработки Java Based программного обеспечения. "JRE" является Java Runtime Environment. То есть, en:JRE это реализация виртуальной машины Java, которая в действительности выполняет Java программы.

Как правило, каждый JDK содержит одно (или более) JRE's наряду с различными инструментами развития, такие как компиляторы Java источник, комплектации и средств развертывания, отладчиков, развитие библиотек и т.д [Источник 3] .


Следуйте за нами на нашей фан-странице, чтобы получать уведомления каждый раз, когда появляются новые статьи. Facebook

1- Краткий обзор истории Java

Java был создан James Gosling и его коллегами в Sun Microsystems в 1991 году. Первоначально идея была программирование для управления и не быть зависимым от вида CPU для электронных устройств как телевизор, стиральная машина,микроволновые печи и т.д. Поэтому, они приступили к созданию быстрого, компактного, эффективного, независимого языка и так родился язык “Oak”, потом он был переименован в Java.


Сначала Java был назван "Oak" (Дуб), потому что дуб является распространенным деревом, посаженным в Америке, Германии, Румынии. и считается символом этой страны, символ силы. Так же вокруг офиса у James Gosling посажено очень много дубов.


Было очень много названий для выбора членов команды, такие как Dynamic, Revolutionary, Silk, Jolt, DNA, … Они хотели название, которое отражало истинную природу технологии, является революционной, динамичной, едиственной и легко для произношения.

Java это остров в Indonesia (Индонезия), здесь производили первый кофе (называется java coffee), тем более кофе был вместе с инженерами на протяжении всех 4-х лет работы для создания первой версии Java. Это причина почему члены команды выбрали название Java и почему логотипом Java является чашка дымящегося ароматного кофе.


Согласно James Gosling, то Java является одним из лучших вариантов наряду с Silk. Но, так как Java имеет больше уникальности, почти все члены команды выбрали Java.

2- JVM и слоган у Java

Главная цель Java это как написать программу, которая будет работать на разных платформах. Известный слоган Java это "Write Once and Run Anywhere - WORA" (Напиши один раз, запускай везде).

Перед тем как появился Java, программа написанная и компилированная (compile) в машинный код (machine code) работающий на операционной системе Windows не может работать на операционной системе Linux, так имеется слишком много различий.


Инженеры Sun Microsystems создали JVM (Java Virtual Machine) (Виртуальная машина Java), чтобы установить на разных платформах (platform), такие как Windows, Linux, Mac,.


Программы написанные с помощью языка Java компилированы (compile) в Byte Code, специальный код, который может работать в среде JVM. JVM помогая переводить Byte Code в код хост машины(host machine). Это и есть принцип почему Java может запускаться на разных платформах.

3- Что такое JDK, JRE?


JRE является аббревиатурой Java Runtime Environment (Среда выполнения для Java), которая включает JVM (Виртуальная Машина Java) и некоторые библиотеки Java помогающие выполнить программы написанные языком Java.


JDK является аббревиатурой Java Development Kit (Комплект разработчика Java), включает 2 компонента JRE и Java Development Tools (Инструменты разработки Java).

JDK нужно для программистов, так как Java Development Tools предоставляет инструменты для разработки приложения Java, например Javac помогает компилировать (compile) исходные коды программистов в Byte Code. потом использует JRE, чтобы запустить приложение в процессе разработки.

4- OpenJDK vs Oracle JDK

Ниже является таблица описания истории версий Java.

Большое событие произошло в Октябре 2009 года, Oracle купил Sun Microsystem, таким образом Java официально сменил своего владельца. Обратите внимание на период до и после 2009 года.

Версии Java от 1 до 6 были разработаны с помощью Sun Microsystem, они открыли исходный код Java для всего мира.

В Июле 2011 года, Oracle выпустил Java 7, они выпустили 2 разных варианта JDK это Oracle JDK и OpenJDK. На то время исходный код данных 2-х вариантов не имели много различий, так как они были унаследованы от JDK 6.

OpenJDK смог открыть исходный код, он был поддержан и разработан с помощью Oracle, но позволяет сообществу и другим компания принимать участие в этой разработке. Например Red Hat, Azul Systems, IBM, Apple Inc. OpenJDK являются и продуктом JDK и спецификацией (specification). Любая компания, организация желающая использовать OpenJDK для создания нового варианта, должна соответствовать этим спецификациям.

OpenJDK разработан с помощью Oracle и сообществом. Иногда мы встречаем неполадки со стабильностью, основываясь на отзывы пользователь он будет обновляться для улучшения. OpenJDK постоянно обновляет, примерно раз в 6 месяцев.

Oracle JDK поддержан и разработан с помощью Oracle и соотвествует спецификациям OpenJDK, но это не открытый исходный код. Oracle JDK намного лучше в плане отзывчивости и производительности JVM. Он больше фокусируется на стабильности из-за своей важности для корпоративных клиентов.

Возможно вы спрашиваете "Что такое спецификация (specification)?", посмотрим пример. Организация определила размер шины колеса велосипеда - это спецификация, и производители должны соответствовать этим спецификациям, при этом их не волнует каким образом производители сделают шины.

OpenJDK был выпущен по лицензии "GPL v2", в то время как Oracle JDK был выпущен по​​​​​​​ "Oracle Binary Code License Agreement".

Читайте также: