Openjdk runtime environment windows

Содержание
  1. Openjdk runtime environment windows
  2. Java SE Runtime Environment 8 Downloads
  3. Important Oracle JDK License Update
  4. How to download and install prebuilt OpenJDK packages
  5. JDK 9 & Later
  6. JDK 8
  7. Debian, Ubuntu, etc.
  8. Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
  9. JDK 7
  10. Debian, Ubuntu, etc.
  11. Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
  12. JDK 6
  13. Debian, Ubuntu, etc.
  14. Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
  15. BSD Port
  16. Java SE Runtime Environment / Development Kit
  17. О программе
  18. Что нового
  19. Системные требования
  20. Системные требования Java Runtime Environment 8
  21. Полезные ссылки
  22. Подробное описание
  23. Описание разработчика Java Runtime Environment
  24. Как скачать Java SE Runtime Environment / Development Kit
  25. Руководство по возможностям Java версий 8-14
  26. Практическая информация
  27. TL;DR Я только хочу скачать ссылку и знаю обо всем остальном. Куда мне следует идти?
  28. Какая последняя версия Java?
  29. Какую версию Java я должен использовать?
  30. Почему компании все еще застряли на Java 8?
  31. Почему некоторые версии Java называются 1.X?
  32. В чем разница между версиями Java?
  33. Должен ли я изучать конкретную?
  34. Каковы примеры этих новых возможностей новых версий Java?
  35. В чем разница между JRE и JDK?
  36. Как мне установить Java или JDK?
  37. Дистрибутивы Java
  38. Проект OpenJDK
  39. Сборки OpenJDK (от Oracle) и OracleJDK
  40. AdoptOpenJDK
  41. Azul Zulu, Amazon Corretto, SAPMachine
  42. Полный обзор дистрибутива OpenJDK
  43. Рекомендация
  44. Возможности Java 8-14
  45. — Java 8 —
  46. Особенности языка: лямбды и т.д.
  47. Коллекции и потоки
  48. Если вы хотите больше практики на Java 8
  49. — Java 9 —
  50. Коллекции
  51. Streams
  52. Optionals
  53. Интерфейсы
  54. Другие возможности языка
  55. JShell
  56. HTTPClient
  57. Проект Jigsaw: модули Java и файлы Jar с несколькими выпусками
  58. — Java 10 —
  59. — Java 11 —
  60. Строки и файлы
  61. Запустить исходные файлы
  62. Вывод типа локальной переменной (var) для лямбда-параметров
  63. HttpClient
  64. Другие вкусности
  65. — Java 12 —
  66. — Java 13 —
  67. Switch выражение (Preview — предварительная версия)
  68. Многострочные строки (превью)
  69. Java 14 и далее
  70. Switch выражения (стандартное)
  71. Records (превью)
  72. Полезные исключения NullPointerException
  73. Сопоставление с образцом для InstanceOf (превью)
  74. Инструмент упаковки (инкубатор)
  75. Сборщики мусора
  76. Java 15 и далее
  77. Заключение
  78. Благодарности

Openjdk runtime environment windows

Your search did not match any results.

We suggest you try the following to help find what you’re looking for:

  • Check the spelling of your keyword search.
  • Use synonyms for the keyword you typed, for example, try “application” instead of “software.”
  • Try one of the popular searches shown below.
  • Start a new search.

Java SE Runtime Environment 8 Downloads

Do you want to run Java™ programs, or do you want to develop Java programs? If you want to run Java programs, but not develop them, download the Java Runtime Environment, or JRE™.

Important Oracle JDK License Update

The Oracle JDK License has changed for releases starting April 16, 2019.

The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from prior Oracle JDK licenses. The new license permits certain uses, such as personal use and development use, at no cost — but other uses authorized under prior Oracle JDK licenses may no longer be available. Please review the terms carefully before downloading and using this product. An FAQ is available here.

Commercial license and support is available with a low cost Java SE Subscription.

Oracle also provides the latest OpenJDK release under the open source GPL License at jdk.java.net.

If you want to develop applications for Java, download the Java Development Kit, or JDK™. The JDK includes the JRE, so you do not have to download both separately.

How to download and install prebuilt OpenJDK packages

JDK 9 & Later

Oracle’s OpenJDK JDK binaries for Windows, macOS, and Linux are available on release-specific pages of jdk.java.net as .tar.gz or .zip archives.

As an example, the archives for JDK 13 may be found on jdk.java.net/13 and may be extracted on the command line using

depending on the archive type.

JDK 8

Debian, Ubuntu, etc.

On the command line, type:

The openjdk-8-jre package contains just the Java Runtime Environment. If you want to develop Java programs then please install the openjdk-8-jdk package.

Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.

On the command line, type:

The java-1.8.0-openjdk package contains just the Java Runtime Environment. If you want to develop Java programs then install the java-1.8.0-openjdk-devel package.

JDK 7

Debian, Ubuntu, etc.

On the command line, type:

The openjdk-7-jre package contains just the Java Runtime Environment. If you want to develop Java programs then install the openjdk-7-jdk package.

Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.

On the command line, type:

The java-1.7.0-openjdk package contains just the Java Runtime Environment. If you want to develop Java programs then install the java-1.7.0-openjdk-devel package.

JDK 6

Debian, Ubuntu, etc.

On the command line, type:

The openjdk-6-jre package contains just the Java Runtime Environment. If you want to develop Java programs then install the openjdk-6-jdk package.

Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.

On the command line, type:

The java-1.6.0-openjdk package contains just the Java Runtime Environment. If you want to develop Java programs then install the java-1.6.0-openjdk-devel package.

BSD Port

For a list of pointers to packages of the BSD Port for DragonFly BSD, FreeBSD, Mac OS X, NetBSD and OpenBSD, please see the BSD porting Project’s wiki page.

Java SE Runtime Environment / Development Kit

Разработчик: ORACLE (США)
Лицензия: Freeware (бесплатно)
Версия: 16 (16.0) / 15 (15.0.2) / 11 (11.0.10 LTS) / 8 Update 281 (8.0.2810.9)
Обновлено: 2021-03-16
Системы: Windows / MacOS / Linux
Интерфейс: английский
Рейтинг:
Ваша оценка:
Категория: Дополнения и плагины
Размер: зависит от устройства

О программе

Что нового

Новое в версии Java SE Development Kit 16.0 (16.03.2021)

Новое в версии Java SE Development Kit 15.0.2 (19.01.2021)

Новое в версии Java SE Development Kit 11.0.10 (19.01.2021)

Новое в версии Java SE Runtime Environment 8u281 (19.01.2021)

Системные требования

Системные требования Java Runtime Environment 8

Windows

  • Windows 10 (8u51 или более поздняя)
  • Windows 8.x (настольная версия)
  • Windows 7 с пакетом обновления 1 (SP1)
  • Windows Vista SP2
  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) (64-разрядная версия)
  • Windows Server 2012 и 2012 R2 (64-разрядная версия)
  • Браузеры: Internet Explorer 9 и выше, Firefox

Mac OS X

  • Mac на базе процессора Intel под управлением Mac OS X 10.8.3+, 10.9+
  • Полномочия администратора для установки
  • 64-битный браузер

Для запуска Oracle Java для Mac OS X требуется 64-разрядный браузер (например, Safari или Firefox).

Читайте также:  Как объединить диски при установке windows 10 системы

Linux

  • Oracle Linux 5.5+1
  • Oracle Linux 6.x (32-разрядная версия), 6.x (64-разрядная версия)2
  • Oracle Linux 7.x (64-разрядная версия)2 (8u20 или более поздняя)
  • Red Hat Enterprise Linux 5.5+1, 6.x (32-разрядная версия), 6.x (64-разрядная версия)2
  • Red Hat Enterprise Linux 7.x (64-разрядная версия)2 (8u20 или более поздняя)
  • Suse Linux Enterprise Server 10 SP2+, 11.x
  • Suse Linux Enterprise Server 12.x (64-разрядная версия)2 (8u31 или более поздняя)
  • Ubuntu Linux 12.04 LTS, 13.x
  • Ubuntu Linux 14.x (8u25 или более поздняя)
  • Ubuntu Linux 15.04 (8u45 или более поздняя)
  • Ubuntu Linux 15.10 (8u65 или более поздняя)
  • Браузеры: Firefox

Полезные ссылки

Также посмотрите

Подробное описание

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

Дополнительно JRE включает две ключевые технологии развертывания: Java Plug-in, который позволяет запускать апплеты в популярных браузерах, и Java Web Start, которая позволяет развертывать автономных приложений в сети.

Здесь размещены официальные ссылки для загрузки Java Runtime Environment для 32-разрядных и 64-разрядных операционных систем Windows и приложений.

Описание разработчика Java Runtime Environment

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

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

На основе технологий Java работают приставки, принтеры, веб-камеры, игры, навигационные системы для автомобилей, терминалы для проведения лотерей, медицинские устройства, автоматы для оплаты парковки и многое другое.

Как скачать Java SE Runtime Environment / Development Kit

Перейдите на страницу загрузки и выберите версию для вашего устройства.

Руководство по возможностям Java версий 8-14

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


Java 8, Java 11, Java 13, Java 14 — какая разница?

Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т.д.), А также получить обзор возможностей языка Java, включая версии Java 8-14.

Примечание переводчика
17 февраля был опубликован перевод Руководство по версиям и возможностям Java
В комментарии к нему Julegg написал
Там у Марко уже описание java-14 добавилось. Будет ли тут перевод добавлен?

Вашему вниманию предлагается обновленная версия руководства от 09 апреля 2020 г.

Практическая информация

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

TL;DR Я только хочу скачать ссылку и знаю обо всем остальном. Куда мне следует идти?

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

TL;DR (англ. too long; didn’t read — слишком длинно, не читал)

Какая последняя версия Java?

По состоянию на март 2020 года Java 14 является последней выпущенной версией Java.

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

Новые версии Java теперь выходят каждые 6 месяцев. Следовательно, Java 15 запланирована на сентябрь 2020 года, Java 16 на март 2021 года и так далее. В прошлом циклы выпуска Java были намного длиннее, до 3-5 лет. Этот график демонстрирует это:

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

  • Унаследованные проекты в компаниях часто связаны с использованием Java 8 (см. Раздел «Почему компании все еще застревают на Java 8?» Ниже). Таким образом, вы также будете вынуждены использовать Java 8.
  • Некоторые унаследованные проекты даже работают на Java 1.5 (выпущен в 2004 г.) или 1.6 (выпущен в 2006 г.) — сожалею, друзья!
  • Если вы уверены, что используете самые последние IDE, интегрированные среды и инструменты сборки и запускаете новый проект, вы можете без колебаний использовать Java 11 (LTS) или даже самую последнюю версию Java 14.
  • Есть специальная область разработки 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 особенная в этом отношении, поскольку она чрезвычайно обратно совместима. Это означает, что ваша программа на Java 5 или 8 гарантированно будет работать с виртуальной машиной Java 8-14 — с некоторыми исключениями, о которых вам сейчас не нужно беспокоиться.

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

Читайте также:  Запуск образа iso linux

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

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

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

Взгляните на раздел «Возможности Java 8-14» ниже.

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

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

В чем разница между 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-<5-14>.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, что поначалу может казаться очень запутанными.

  1. Сборки OpenJDK от Oracle (!). Эти сборки бесплатны и не имеют торговой марки, но Oracle не выпустит обновления для более старых версий, скажем, Java 14, как только выйдет Java 15.
  2. OracleJDK — это коммерческая сборка под брендом, выпускаемая начиная с изменения лицензии в 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

Полный список сборок OpenJDK вы найдете на сайте OpenJDK Wikipedia. Среди них Azul Zulu, Amazon Corretto, а также SapMachine и многие другие. Упрощенно говоря, различия сводятся к тому, что у вас есть различные варианты поддержки/ гарантии обслуживания.

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

Полный обзор дистрибутива OpenJDK

Рафаэль Винтерхальтер (Rafael Winterhalter) собрал большой список всех доступных сборок OpenJDK, включая их описания: ОС, архитектуру, окна лицензирования, поддержки и обслуживания.

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

Повторим с еще раз, что с 2019 года, если у вас нет особых требований, найдите файл jdk.zip (.tar.gz/.msi/.pkg) по адресу https://adoptopenjdk.net или выберите пакет, предоставленный вашим поставщиком ОС.

Возможности Java 8-14

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

Читайте также:  Usb порт не видит флешку windows 10

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

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

— Java 8 —

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

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

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

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

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

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

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

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

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

Если вы хотите больше практики на Java 8

Очевидно, что в рамках этого руководства я могу только дать краткий обзор каждого недавно добавленного Stream, Lambda или Optional метода в Java 8. Если вам нужен более детальный, подробный обзор — включая упражнения — вы можете взглянуть на мой курс по основным функциям Java 8.

— Java 9 —

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

Коллекции

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

Streams

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

Optionals

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

Интерфейсы

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

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

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

JShell

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

HTTPClient

Java 9 принес первоначальную предварительную версию нового HttpClient. До этого встроенная поддержка Http в Java была довольно низкоуровневой, и вам приходилось использовать сторонние библиотеки, такие как Apache HttpClient или OkHttp (кстати, отличные библиотеки).

В 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) для лямбда-параметров

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

HttpClient

HttpClient из Java 9, но уже в окончательной, а не превью версии.

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

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

— Java 12 —

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

— Java 13 —

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

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

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

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

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

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

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

Java 14 и далее

Switch выражения (стандартное)

Switch выражения, которые были предварительным просмотром в версиях 12 и 13, теперь стандартизированы.

Records (превью)

В настоящее время существуют классы Records (записей), которые помогают облегчить задачу написания большого количества шаблонов с использованием Java. Взгляните на этот класс до Java 14, который содержит только данные, (потенциально) методы получения / установки, equals / hashcode, toString.

Теперь с записями это можно записать так:

Опять же, это функция предварительного просмотра и может быть изменена в будущих версиях.

Полезные исключения NullPointerException

Наконец, NullPointerExceptions точно описывает, какая переменная была null.

Сопоставление с образцом для InstanceOf (превью)

В то время как ранее вы должны были выполнять (cast) ваших объектов внутри instanceof, как здесь:

Теперь вы можете сделать это, более эффективно, удалив cast.

Инструмент упаковки (инкубатор)

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

  • Linux: deb и rpm
  • macOS: pkg и dmg
  • Windows: MSI и EXE

Сборщики мусора

Сборщик мусора Concurrent Mark Sweep (CMS) был удален, а добавлен экспериментальный сборщик мусора Z.

Java 15 и далее

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

Заключение

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

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

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

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

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

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

Оцените статью