Java 8 requires a newer version of windows что делать

Обновлено: 07.07.2024

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

Поэтому я решил описать процедуру установки Java для операционной системы Windows и последующей настройки системы, потому что, к сожалению, недостаточно просто “запустить инсталлятор и всегда нажимать кнопку Next”.

1. Где взять Java?

2. Какую версию выбрать?

Разумеется, последнюю доступную (на момент написания инструкции это Java 8).

Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет, потому что у неё менее строгие ограничения по памяти, доступной исполняемым Java-приложениям.

3. Что устанавливать, JRE или JDK?

Java Runtime Environment, или JRE — это виртуальная машина, позволяющая запускать приложения, написанные на языке программирования Java.

Java Development Kit, или JDK — это набор инструментов, для разработки программ на языке программирования Java (компилятор, архиватор, генератор документации и прочие). JRE разумеется тоже входит в дистрибутив JDK.

Правило очень простое: если вы собираетесь что-нибудь писать на языке программирования Java, значит вам потребуется JDK. А если только запускать готовые программы — тогда достаточно JRE.

4. Установка Java

Вот тут, действительно, всё просто — нужно запустить инсталлятор и следовать указаниям визарда. Можно просто всё время нажимать кнопку Next.

5. Настройка переменных окружения

К сожалению, инсталлятор Java не выполняет настройку переменных окружения, поэтому придётся сделать это вручную после установки.

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

Во-вторых, надо в переменную PATH добавить путь к директории %JAVA_HOME%\bin . Эта переменная указывает операционной системе список директорий, в которых нужно искать исполняемые файлы, и чтобы можно было запускать Java из консоли, переменная PATH должна быть правильно настроена.

Для установки переменных окружения сначала нужно открыть свойства компьютера, либо использовав сочетание клавиш Win-Pause, либо через меню “Пуск”:


Затем нужно выбрать “Дополнительные параметры системы”, в открывшемся диалоге перейти на вкладку “Дополнительно” и нажать кнопку “Переменные среды”, после чего появится диалог настройки переменных окружения.


Если у вас уже есть переменная окружения JAVA_HOME — надо её отредактировать, если нет — создать новую. В качестве значения нужно указать путь к директории, куда установлена Java, то есть, например c:\Program Files\Java\jdk1.8.0_25\ , если вы установили JDK, либо c:\Program Files\Java\jre1.8.0_25\ , если вы установили только JRE.

После того, как вы установили значение переменной JAVA_HOME , необходимо отредактировать значение переменной PATH, добавив туда путь к директории, где находятся исполняемые файлы Java, то есть %JAVA_HOME%\bin


И сохранить всё это, закрыв все открытые диалоги в обратном порядке кнопками OK.

Обратите внимание, что если вы устанавливаете JDK, то в названии директории указывается номер версии, поэтому впоследствии, когда вы решите установить более новую версию, не забудьте поменять значение переменной окружения JAVA_HOME .

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

6. Удаление лишних файлов

Запустите консоль ( cmd ) и выполните в ней команду where java .

В результате вы должны увидеть путь к исполняемому файлу java.exe , который операционная система должна успешно обнаружить в том месте, куда вы установили Java. Если файл не нашёлся — значит неправильно настроена переменная PATH и нужно вернуться к предыдущему пункту.

Однако иногда бывает и наоборот, находятся «лишние» исполняемые файлы:


Происходит это из-за того, что инсталлятор Java вместо того, чтобы правильно настроить переменные окружения, пытается положить исполняемые файлы в директорию C:\Windows\system32

Это не очень хорошо — засоряется системная директория, может возникнуть рассогласование версий Java (в разных директориях разные версии). Поэтому надо удалить из каталога C:\Windows\system32 исполняемые файлы java.exe , javaw.exe и javaws.exe , если они там обнаружатся.

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

Алексей Баранцев

Автор: Алексей Баранцев

Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.

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

Где можно встретить Java при работе в Интернет? Да, например, на различных игровых сайтах (где в небольшом окне запускается онлайн-игрушка), в системах интернет-банкинга, на сайтах "Облэнерго" и др. (при передаче важной конфиденциальной информации и персональных данных) .

Несколько раз в год (примерно) происходит обновление Java. Если у вас на ПК/ноутбуке не будет новой версии Java - то вы не сможете запустить ряд приложений (некоторые элементы сайтов будут недоступны для вас). Также, ваша система становится менее безопасной для работы.

В этой статье покажу, как происходит установка и обновление Java (и разберу сопутствующие с этим вопросы). Думаю, материал пригодится многим, у кого возникла "проблема" с этим пакетом.

ускорение ПК

Как обновлять Java

Где скачивать пакет, способы обновления

Способ 1

Если используете систему Windows XP (которая поддерживает только 7-ю версию Java) - то вам прежде, чем обновлять Java, необходимо сначала удалить старую версию (также указано ниже в статье).

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

Главная страничка офиц. сайта

Главная страничка офиц. сайта

Далее кликните по кнопке "Согласиться и начать бесплатную загрузку".

Согласиться и начать загрузку

Согласиться и начать загрузку

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

Окно загрузки

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

Процесс установки

Очень выручает, когда хотите установить Java на компьютер/ноутбук, который не подключен к сети Интернет.

Версия Java для загрузки

Версия Java для загрузки

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

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

Способ 2

Этот способ годится для тех, у кого уже установлен пакет Java, и он хочет его обновить (если у вас нет этого пакета - вы не найдете подобных ярлыков в ПУСКе).

И так, открываете меню ПУСК и щелкаете по ярлыку "Check for Updates" (проверить обновления). См. скриншот ниже.

Check for Updates - проверить обновление

Check for Updates - проверить обновление

Также вызвать это окно можно не через меню ПУСК, а открыв панель управления Windows (не забудьте перевести отображение в крупные значки, как в примере ниже).

Панель управления - Java 32 бита

Панель управления - Java 32 бита

После чего откройте вкладку "Update", и нажмите по кнопке "Update now" (т.е. "обновить сейчас").

Update Now - обновить сейчас (Java)

Update Now - обновить сейчас (Java)

Будет автоматически проверена ваша версия Java с последней (доступной на официальном сайте). Если версия уже устарела - запустится ее обновление, если у вас установлена последняя версия - увидите окно "You already have the latest Java Platform. " (в переводе "вы имеете самую последнюю версию. "). Пример ниже.

Обновление не требуется

Обновление не требуется

Как правильно удалить предыдущую версию

Способ 1 - через программы и компоненты

Пожалуй, самый очевидный и простой способ: зайти в панель управления, и открыть раздел "Панель управления\Программы\Программы и компоненты" (см. скрин ниже). Затем найти в списке "Java 8 Update 181" (например), и удалить оную.

Как удалить Java (программы и компоненты)

Как удалить Java (программы и компоненты)

Способ 2 - спец. инструмент "uninstall tool"

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

После загрузки утилиты, просто запустите ее (установка не требуется).

Запуск утилиты для удаления Java

Запуск утилиты для удаления Java

Далее останется только согласиться с удалением (кнопка "Agree").

Java Uninstal Tool

Java Uninstall Tool

Способ 3 - с помощью спец утилит

Современные пользователи компьютеров работающих на ОС семейства Windows, могут наслаждаться всей палитрой возможностей технологии Java (на русском звучит как джава). Актуальными операционными системами на сегодня являются Windows XP, 7, 8 и 10, а также серверные системы Microsoft. Актуальные версии Java на сегодня: 7 и 8.

Зачем пользователю Интернет загружать и устанавливать Java

Без Java сегодня практически невозможно представить работу в сети Интернет, так как это нечто большее, чем одноименный язык программирования. Благодаря ему эффективно функционируют мобильные телефоны и большая часть Интернет-приложений: игры, интерактивные карты, банковские системы, дистанционные курсы и так далее. Разработчик рекомендует устанавливать только последнюю версию программы. Таким образом вы получите максимально безопасное решение.

Официальный сайт

Что представляет собой Java

Это модульный комплекс взаимосвязанных программ, предназначенных для разных категорий пользователей. Если быть точным, Java как технология предусматривает несколько компонентов:

  • язык программирования и комплект для разработчика программ;
  • платформу для вычислений на компьютерах любого назначения и под управлением любой ОС.

Платформа включает в себя, помимо стандартных компонентов и модулей технологии, еще и среду создания программ на языке программирования получившей название Java Development Kit, или (JDK – комплект для разработчика программ на Джава). Большинство обычных пользователей может установить только среду исполнения Java Runtime Environment (JRE). Основу которой представляет Java Virtual Machine (JVM – виртуальная машина Java) и набор предоставляемых библиотек и компонентов ее среды (классы). Все они выполняют работу по запуску и обслуживанию программ написанных на упомянутом языке программирования.

Установка исполняющей среды Java и ее особенности в ОС Windows

Компания Oracle, нынешний собственник технологии и ее компонентов, постоянно совершенствует программное обеспечение. Со своего официального ресурса она предлагает абсолютно бесплатную загрузку новейшей версии пакета Java для всех распространённых ОС, и в первую очередь для Windows. Здесь пользователь может выбрать два типа загрузки: интерактивный и автономный режимы. Текущий пакет имеет только новейшую версию, поэтому старайтесь не использовать старую версию в ущерб безопасности и снижению производительности программ.

Перед установкой производится настройка операционной системы, чтобы установке исполняющей среды не мешала активная защита ОС. Речь идет о межсетевых экранах и брандмауэрах антивирусных программ, их нужно отключить. После того как установка будет завершена выполните запуск этих утилит.

Установка Java в интерактивном режиме запускает на выполнение напрямую из сети Интернет специальный исполняемый файл IFTW (Install From The Web). Нужно быть в сети до конца установки, иначе она будет прекращена. Метод автономной загрузки проще, скаченный с сервера файл exe, может быть запущен и протестирован в любой момент времени, в том числе без интернета. Вся последующая настройка Java происходит автоматически, в том числе постоянная готовность к обновлению.

Загрузка Java

Текущей версией является 8u66, а для ее установки на ОС Windows потребуется соблюсти несколько общих условий:

  • Ваша учетная запись должна быть настроена с правами Администратора ОС Windows;
  • Требуется установка браузера одной из последних версий (Internet Explorer, Firefox, Chrome, Opera).

Пакет Java распространяется для 32 и 64 разрядных систем и браузеров. Для непосвященных укажем: разрядность иначе подписывается английским словом bit, например, XP Home имеет только 32 bit (бита) разрядности. Выбирайте ту версию пакета, которая соответствует вашей системе и браузеру. Особенно это касается ручной установки, где специально предлагается два варианта загрузки для Windows. Единственное исключение составляют серверные системы, для которых потребуется загрузка только версии ОС 64 bit, например, Windows Server 2008 R2.

В отсутствии технической поддержки со стороны официального разработчика ОС Windows XP, новая восьмая версия Джава может работать некорректно. Для использования на старших выпусках ОС Windows браузеров обоих разрядов, следует установить обе версии Java во избежание конфликта версий. Дело в том, что в этом случае при инсталляции будет установлен один общий модуль для подключения.

Установщик

Java и Windows 10

Обновление номер 51 выпуска Java 8 поддерживает Windows 10. К огромному сожалению, новый браузер Edge, входящий в состав 10 версии не поддерживает Java технологию, по этой причине придется пользоваться другими браузерами. Операционная система Windows 10 содержит удобную систему поиска (увеличительное стекло в левом нижнем углу экрана). Вызов панели управления проще всего выполнить через неё, набрав в строке поиска «Настроить Java».

Проверка разрядности

В браузерах всех типов и выпусков, есть пункт главного меню «Нelp» (Помощь) или «О программе». В них прямо указана разрядность браузера, и если ее нет, то считайте вашу версию 32 разрядной.

Специалисты советуют тщательно проверять разрядность браузера, в особенности это касается Internet Explorer. Даже в стандартной поставке 64 разрядных ОС Windows начиная с версии XP и до версии 7, в них по умолчанию действует прежний 32 разрядный браузер. Другой тип так же идет в комплекте, но он устанавливается опционально самим пользователем. Будьте внимательны, такой браузер не гарантирует корректного изображения всех современных сайтов и работы веб-приложений.

Если у вашего ПК достаточный размер оперативной памяти (от 4Гб и более), используйте только браузер с разрядностью 64 bit, так как он способен использовать вдвойне больший объем оперативной памяти компьютера. Это значит лишь одно: ваши программы, загруженные в текущем сеансе работы ОС, в особенности игры, будут работать максимально быстро.

Проверка установки

После всех процедур установки, не зависимо от варианта загрузки, возможно, потребуется перезагрузка запущенного в это время браузера. Такая процедура необходима для включения модуля Java со стороны сервера компании Oracle. Помните, только установка последней версии обеспечит безопасность работы браузера.

Что делать если Java не устанавливается или работает некорректно

К примеру, пользователи ОС XP, коих еще остается очень много, рискуют столкнуться с проблемой повреждения файлов. Ее решение было реализовано самой компанией Microsoft, выпустившей специальную системную программу-утилиту Microsoft Fix it (поддерживает XP, 7 и 8 версии). После применения утилиты, скачать которую можно на официальном сайте Microsoft, выполнение повторной установки Джава в автономном режиме произойдет уже с восстановленными файлами.

Работа некоторого программного обеспечения зависит от вспомогательных утилит и приложений. Поэтому пользователи желают быстрее решить проблему, когда не работает уже установленная Java. Ошибки могут возникнуть и раньше, когда не устанавливается приложение Java на компьютер с ОС Windows. Разберемся в каждой проблеме и узнаем, что делать.

Почему Java не скачивается

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

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

Решение проблемы достигается двумя вариантами: настройка приложений или скачивание полноценного установщика с нашего и официального сайта Джава. Обновите антивирус, просмотрите параметры блокировок.

Ошибки при установке

Если файл скачался, а Java не устанавливается на Windows 7, 8, 10 или XP, то проблема глубже.

Способы решения проблемы:

очистка Windows программой CCleaner

  1. Очистить компьютер от мусора, освободив при этом реестр. Удобнее провести процедуру через CCleaner.
  2. Полностью очистить папки по следующим адресам: «C:\ProgramFiles\Java» и «C:\ProgramFiles\Common Files\Java». Какой-то из файлов мог быть запущен, поэтому не удалился на предыдущем этапе.
  3. Ошибка установки, возникающая после очистки реестра, говорит о том, что на Windows не обновлены компоненты ОС. Даже устаревший браузер от Microsoft может доставлять массу неприятностей при установке других программ.

С остальными ошибками Джава на Виндовс стоит познакомиться поближе.

Error Java Installer

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

Когда установленная Джава не открывается, то используется программа Windowsfix. ПО помогает в устранении сотен ошибок, включая те, что встречаются на Java.

Ошибка 1603

Ошибка Java с пометкой Error Code: 1603 появляется в процессе установки обновления. Причина до сих пор не выявлена разработчиками.

Предлагаются следующие способы решения:

отключение отображения Java-контента в браузере

  • Переустановка приложения с удалением. Предполагается, что сбой и ошибка 1603 возникают из-за некорректной загрузки ПО на компьютер. Поэтому сотрите информацию об утилите, очистите операционную систему от следов Джавы и скачайте файл для автономной установки программы.
  • Отключение отображения контента Джава. Проблема исправления ошибки с кодом 1603 может крыться в использовании утилиты при работе с браузерами. Перед установкой снимите флажок в панели управления приложения на вкладке «Безопасность».

После переустановки приложения верните флажок на место.

Ошибка 1618

  1. На системном диске должно быть достаточно места, чтобы исполняемый файл без труда устанавливал программу. Вес Джавы – 158 Мб.
  2. Скачайте пакет для автономной установки ПО.
  3. Папку, где до этого хранилась Джава, нужно очистить вручную.
  4. Удалите ненужные файлы в реестре, используя CCleaner.
  5. Отключите антивирусы.
  6. Установка программы начинается заново.

Причина ошибки 1618 при установке Java на компьютер разработчиками не выяснена.

Unable to install Java

Разработчики программ из Microsoft знают, что делать с ошибкой Unable to install Java. Они рекомендуют: «Компоненты файлов с расширением .jar блокируются системой или антивирусом. Для решения проблемы установка проводится в безопасном режиме».

Java Destination Folder

Ошибка папки назначения Destination Folder возникает на 32-разрядных версиях ОС Windows. Для решения проблемы создается новая папка в следующей директории: «C:\Program Files (x86)». Если есть какое-то содержание, то его нужно удалить.

папка для установки Java

При установке программы путь указывается в новую папку.

Не запускается Java

Как запустить программу Java, если возникают ошибки:

  1. Перезапустите браузер для активации новой версии программы. Иногда после обновления приложение Джава запускается только после перезагрузки ПК.
  2. Разрешите выполнять функции среды Java в используемом браузере. Работа с указанными программами может быть выключена и на панели управления приложением.
  3. Подключаемый модуль Джава должен быть активирован на запускаемом браузере. Если программа не открывает видео или игры, проверьте не только ее настройки, но и, например, Оперы или Chrome.

Приложение работает постоянно, но в фоновом режиме. Иными словами, вопрос, как открыть программу Java на компьютере, не имеет ответа. Главное – настроить взаимодействие с браузерами.

Здесь есть все, что вам нужно знать о различных версиях и функциях 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. Спасибо, Стивен!

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