- Нажмите для просмотра политики доступа
- Перейти к содержанию
Go to the Oracle Java Archive page.
The JDK is a development environment for building applications using the Java programming language.
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the JavaTM platform.
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.
WARNING: These older versions of the JRE and JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
For production use Oracle recommends downloading the latest JDK and JRE versions and allowing auto-update.
Only developers and Enterprise administrators should download these releases.
Downloading these releases requires an oracle.com account. If you don’t have an oracle.com account you can use the links on the top of this page to learn more about it and register for one for free.
For current Java releases, please consult the Oracle Software Download page.
The full version string for this update release is 11.0.18+11 (where «+» means «build»). The version number is 11.0.18.
Complete release notes for Java 11 can be found here.
What is Java?
Java is a programming language and software platform. Examples of applications that use Java are numerous and widespread but include web browsers, office applications and even mainstream games like Minecraft are based on Java.
What is Java JDK?
The Java Development Kit (JDK) is the full-featured software development kit for Java developers. It has everything the JRE has, but adds the compiler (javac) and tools (like javadoc and jdb). The JDK allows you to create and compile Java programs.
Is Java free to use?
Yes, Java is free to use under the jdk.java.net license. This means anyone can download it for personal or development use at no cost. Oracle does charge for long term support, but this is optional.
IANA Data 2020a
JDK 11.0.16 contains IANA time zone data 2021a. For more information, refer to Timezone Data Versions in the JRE Software.
Security Baselines
The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 11.0.16 are specified in the following table:
JRE Family Version = JRE Security Baseline (Full Version String)
- 11 = 11.0.16+11
- 8 = 8u341-b10
- 7 = 7u351-b07
Keeping the JDK up to Date
Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.
Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 11.0.13) be used after the next critical patch update scheduled for January 18, 2022.
What’s New
Oracle recommends that the JDK is updated with each Critical Patch Update. In order to determine if a release is the latest, the Security Baseline page can be used to determine which is the latest version for each release family.
Critical patch updates, which contain security vulnerability fixes, are announced one year in advance on Critical Patch Updates, Security Alerts and Bulletins. It is not recommended that this JDK (version 11.0.16) be used after the next critical patch update scheduled for October 18, 2022.
New Features
core-libs/java.net
➜ HTTPS Channel Binding Support for Java GSS/Kerberos
Support has been added for TLS channel binding tokens for Negotiate/Kerberos authentication over HTTPS through javax.net.HttpsURLConnection.
Channel binding tokens are increasingly required as an enhanced form of security which can mitigate certain kinds of socially engineered, man in the middle (MITM) attacks. They work by communicating from a client to a server the client’s understanding of the binding between connection security (as represented by a TLS server cert) and higher level authentication credentials (such as a username and password). The server can then detect if the client has been fooled by a MITM and shutdown the session/connection.
The feature is controlled through a new system property jdk.https.negotiate.cbt which is described fully on the Networking Properties page.
Other Notes
➜ JDK Bundle Extensions Truncated When Downloading Using Firefox 102
On oracle.com and java.com, certain JDK bundle extensions are getting truncated on download when using Firefox version 102. The downloaded bundles have no file extension like «.exe», «.rpm», «.deb». If you are not able to upgrade to Firefox ESR 102.0.1 or Firefox 103 when it is released, then as a workaround you can:
- manually add a file extension to the file name after download.
- use a different browser
Changes
core-libs/java.io
➜ Enable Windows Alternate Data Streams by default
The Windows implementation of java.io.File has been changed so that strict validity checks are not performed by default on file paths. This includes allowing colons (‘:’) in the path other than only immediately after a single drive letter. It also allows paths that represent NTFS Alternate Data Streams (ADS), such as «filename:streamname». This restores the default behavior of java.io.File to what it was prior to the April 2022 CPU in which strict validity checks were not performed by default on file paths on Windows. To re-enable strict path checking in java.io.File, the system property jdk.io.File.enableADS should be set to false (case ignored). This might be preferable, for example, if Windows special device paths such as NUL: are not used.
Bug Fixes
This release is based on the previous CPU and does not contain any additional security fixes. The following issues have also been resolved:
- JDK-8284920 Category: xml Subcategory: javax.xml.path Summary: Incorrect Token type causes XPath expression to return incorrect results
- JDK-8284548 Category:xml Subcategory: jaxpInvalid Summary: XPath expression causes StringIndexOutOfBoundsException
Java SE 11.0.15 Advanced — Bundled Patch Release (BPR) — Bug Fixes and Updates
The following sections summarize changes made in all Java SE 11.0.15 BPR releases. The BPR releases are listed below in date order, most current BPR first. Note that bug fixes in previous BPRs are also included in the current BPR.
- JDK-8221741 Category: client-libs Subcategory: 2d Description: ClassCastException can happen when fontconfig.properties is used
- JDK-8212904 Category: client-libs Subcategory: javax.swing Description: JTextArea line wrapping incorrect when using UI scale
- JDK-8282583 Category: xml Subcategory: jaxp Description: Update BCEL md to include the copyright notice
- JDK-8283350 Category: core-libs Subcategory: java.time Description: (tz) Update Timezone Data to 2022a
Previous release notes
security-libs/org.ietf.jgss:krb5
➜ Support cross-realm MSSFU
The support for the Kerberos MSSFU extensions [1] is now extended to cross-realm environments.
By leveraging the Kerberos cross-realm referrals enhancement introduced in the context of JDK-8215032, the ‘S4U2Self’ and ‘S4U2Proxy’ extensions may be used to impersonate user and service principals located on different realms.
security-libs/java.security
➜ Customizing PKCS12 keystore Generation
New system and security properties have been added to enable users to customize the generation of PKCS #12 keystores. This includes algorithms and parameters for key protection, certificate protection, and MacData. The detailed explanation and possible values for these properties can be found in the «PKCS12 KeyStore properties» section of the java.security file.
Also, support for the following SHA-2 based HmacPBE algorithms has been added to the SunJCE provider: HmacPBESHA224, HmacPBESHA256, HmacPBESHA384, HmacPBESHA512, HmacPBESHA512/224, HmacPBESHA512/256
Removed Features and Options
security-libs/java.security
➜ Removed Root Certificates with 1024-bit Keys
The following root certificates with weak 1024-bit RSA public keys have been removed from the cacerts keystore:
+ alias name «thawtepremiumserverca [jdk]» Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA + alias name «verisignclass2g2ca [jdk]» Distinguished Name: OU=VeriSign Trust Network, OU=»(c) 1998 VeriSign, Inc. — For authorized use only», OU=Class 2 Public Primary Certification Authority — G2, O=»VeriSign, Inc.», C=US + alias name «verisignclass3ca [jdk]» Distinguished Name: OU=Class 3 Public Primary Certification Authority, O=»VeriSign, Inc.», C=US + alias name «verisignclass3g2ca [jdk]» Distinguished Name: OU=VeriSign Trust Network, OU=»(c) 1998 VeriSign, Inc. — For authorized use only», OU=Class 3 Public Primary Certification Authority — G2, O=»VeriSign, Inc.», C=US + alias name «verisigntsaca [jdk]» Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
Previous release notes
security-libs/java.security
➜ -groupname Option Added to keytool Key Pair Generation
A new -groupname option has been added to keytool -genkeypair so that a user can specify a named group when generating a key pair. For example, keytool -genkeypair -keyalg EC -groupname secp384r1 will generate an EC key pair by using the secp384r1 curve. Because there might be multiple curves with the same size, using the -groupname option is preferred over the -keysize option.
security-libs/javax.net.ssl
➜ Support for certificate_authorities Extension
The «certificate_authorities» extension is an optional extension introduced in TLS 1.3. It is used to indicate the certificate authorities (CAs) that an endpoint supports and should be used by the receiving endpoint to guide certificate selection.
With this JDK release, the «certificate_authorities» extension is supported for TLS 1.3 in both the client and the server sides. This extension is always present for client certificate selection, while it is optional for server certificate selection.
Applications can enable this extension for server certificate selection by setting the jdk.tls.client.enableCAExtension system property to true. The default value of the property is false.
Note that if the client trusts more CAs than the size limit of the extension (less than 2^16 bytes), the extension is not enabled. Also, some server implementations do not allow handshake messages to exceed 2^14 bytes. Consequently, there may be interoperability issues when jdk.tls.client.enableCAExtension is set to true and the client trusts more CAs than the server implementation limit.
core-libs/java.lang
➜ POSIX_SPAWN Option on Linux
As an additional way to launch processes on Linux, the jdk.lang.Process.launchMechanism property can be set to POSIX_SPAWN. This option has been available for a long time on other *nix platforms. The default launch mechanism (VFORK) on Linux is unchanged, so this additional option does not affect existing installations.
POSIX_SPAWN mitigates rare pathological cases when spawning child processes, but it has not yet been excessively tested. Prudence is advised when using POSIX_SPAWN in productive installations.
security-libs/javax.net.ssl
➜ Support for X25519 and X448 in TLS
The named elliptic curve groups x25519 and x448 are now available for JSSE key agreement in TLS versions 1.0 to 1.3, with x25519 being the most preferred of the default enabled named groups. The default ordered list is now:
x25519, secp256r1, secp384r1, secp521r1, x448, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192
The default list can be overridden by using the system property jdk.tls.namedGroups.
security-libs/java.security
➜ jarsigner Preserves POSIX File Permission and symlink Attributes
When signing a file that contains POSIX file permission or symlink attributes, jarsigner now preserves these attributes in the newly signed file but warns that these attributes are unsigned and not protected by the signature. The same warning is printed during the jarsigner -verify operation for such files.
Note that the jar tool does not read/write these attributes. This change is more visible to tools like unzip where these attributes are preserved.
client-libs/2d
➜ Oracle JDK11u for Solaris Now Requires harfbuzz to be Installed
Oracle JDK-11.0.10 and later for Solaris 11 requires that the OS provide the package library/desktop/harfbuzz as part of the system installation. This package is provided for Solaris 11.3 and later.
$ pkg info harfbuzz Name: library/desktop/harfbuzz Summary: HarfBuzz is an OpenType text shaping engine Description: HarfBuzz is a library for text shaping, which converts unicode text to glyph indices and positions. HarfBuzz is used directly by libraries such as Pango, and the layout engines in firefox. Category: Desktop (GNOME)/Libraries State: Installed Publisher: solaris
This is a desktop library, but the font processing it does is part of some common backend server workloads. It should always be considered as required.
If this library is missing, then the pkg mechanism will require it during installation of the JDK. If installing the JDK by using a tar.gz bundle (for example) and the library/desktop/harfbuzz package is missing, a runtime link failure will occur when this package is needed.
JDK-8251907 (not public)
core-libs/java.time
➜ JDK time-zone data upgraded to tzdata2020d
The JDK update incorporates tzdata2020d. The main change is
Palestine ends DST earlier than predicted, on 2020-10-24.
Please refer to https://mm.icann.org/pipermail/tz-announce/2020-October/000062.html for more information.
core-libs/java.time
➜ JDK time-zone data upgraded to tzdata2020c
The JDK update incorporates tzdata2020c. The main change is
Fiji starts DST later than usual, on 2020-12-20.
Please refer to https://mm.icann.org/pipermail/tz-announce/2020-October/000060.html for more information.
core-libs/java.time
➜ US/Pacific-New Zone Name Removed as Part of tzdata2020b
Following the JDK’s update to tzdata2020b, the long-obsolete files named pacificnew and systemv have been removed. As a result, the «US/Pacific-New» Zone name declared in the pacificnew data file is no longer available for use.
Information regarding this update can be viewed at https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html.
Bug Fixes
- This release also contains fixes for security vulnerabilities described in the Oracle Critical Patch Update. For a more complete list of the bug fixes included in this release, see the JDK 11.0.10 Bug Fixes page.
security-libs/java.security
➜ Weak Named Curves in TLS, CertPath, and Signed JAR Disabled by Default
- Weak named curves are disabled by default by adding them to the following disabledAlgorithms security properties: jdk.tls.disabledAlgorithms, jdk.certpath.disabledAlgorithms, and jdk.jar.disabledAlgorithms. The named curves are listed below.
- With 47 weak named curves to be disabled, adding individual named curves to each disabledAlgorithms property would be overwhelming. To relieve this, a new security property, jdk.disabled.namedCurves, is implemented that can list the named curves common to all of the disabledAlgorithms properties. To use the new property in the disabledAlgorithms properties, precede the full property name with the keyword include. Users can still add individual named curves to disabledAlgorithms properties separate from this new property. No other properties can be included in the disabledAlgorithms properties.
- To restore the named curves, remove the include jdk.disabled.namedCurves either from specific or from all disabledAlgorithms security properties. To restore one or more curves, remove the specific named curve(s) from the jdk.disabled.namedCurves property.
- Curves that are disabled through jdk.disabled.namedCurves include the following: secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, sect113r1, sect113r2, sect131r1, sect131r2, sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, X9.62 c2tnb191v1, X9.62 c2tnb191v2, X9.62 c2tnb191v3, X9.62 c2tnb239v1, X9.62 c2tnb239v2, X9.62 c2tnb239v3, X9.62 c2tnb359v1, X9.62 c2tnb431r1, X9.62 prime192v2, X9.62 prime192v3, X9.62 prime239v1, X9.62 prime239v2, X9.62 prime239v3, brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1
- Curves that remain enabled are: secp256r1, secp384r1, secp521r1, X25519, X448. See JDK-8233228
security-libs/org.ietf.jgss:krb5
➜ Support for Kerberos Cross-Realm Referrals (RFC 6806)
- The Kerberos client has been enhanced with the support of principal name canonicalization and cross-realm referrals, as defined by the RFC 6806 protocol extension.
- As a result of this new feature, the Kerberos client can take advantage of more dynamic environment configurations and does not necessarily need to know (in advance) how to reach the realm of a target principal (user or service).
- Support is enabled by default and 5 is the maximum number of referral hops allowed. To turn it off, set the sun.security.krb5.disableReferrals security or system property to false. To configure a custom maximum number of referral hops, set the sun.security.krb5.maxReferrals security or system property to any positive value.
Previous versions:
- Java SE JDK 11.0.10 for Windows
- Java SE JDK 11.0.10 for macOS
- Java SE JDK 11.0.10 for Linux DEB
- Java SE JDK 11.0.10 for Linux RPM
- Java SE JDK 11.0.6 for Windows
- Java SE JDK 11.0.6 for macOS
- Java SE JDK 11.0.6 for Linux DEB
- Java SE JDK 11.0.6 for Linux RPM
- Java SE JDK 11.0.4 for Windows
- Java SE JDK 11.0.4 for macOS
- Java SE JDK 11.0.4 for Linux DEB
- Java SE JDK 11.0.4 for Linux RPM
- Java SE JDK 11.0.3 for Windows
- Java SE JDK 11.0.3 for macOS
- Java SE JDK 11.0.3 for Linux DEB
- Java SE JDK 11.0.3 for Linux RPM
Java Development Kit 64-bit (also known as JDK) contains the software and tools that you need to compile, debug, and run applets and applications that you’ve written using the Java programming language. JDK has as its primary components a collection of programming tools, including javac, jar, and the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files, javadoc — the documentation generator, which automatically generates documentation from source code comments, jdb — the debugger, jps — the process status tool, which displays process information for current Java processes, javap — the class file disassembler, and so many other components.
The JDK 64-bit also comes with a complete Java Runtime Environment, usually called a private runtime. It consists of a Java Virtual Machine and all of the class libraries present in the production environment, as well as additional libraries only useful to developers, and such as the internationalization libraries and the IDL libraries. Download Java Development Kit Offline Installer Setup 64bit for Windows
Contents of the JDK:
Development Tools
(In the bin/ subdirectory) Tools and utilities that will help you develop, execute, debug, and document programs are written in the JavaTM programming language.
Runtime Environment
(In the jre/ subdirectory) An implementation of the Java Runtime Environment (JRE) for use by the JDK. The JRE includes a Java Virtual Machine (JVM), class libraries, and other files that support the execution of programs written in the Java programming language.
Additional Libraries
(In the lib/ subdirectory) Additional class libraries and support files required by the development tools.
Demo Applets and Applications
(In the demo/ subdirectory) Examples, with source code, of programming for the Java platform. These include examples that use Swing and other Java Foundation Classes, and the Java Platform Debugger Architecture.
Sample Code
(In the sample subdirectory) Samples, with source code, of programming for certain Java API’s.
C header Files
(In the include/ subdirectory) Header files that support native-code programming using the Java Native Interface, the JVM Tool Interface, and other functionality of the Java platform. Download Java Development Kit Offline Installer Setup 64bit for Windows
Source Code
(In src.zip) Java programming language source files for all classes that make up the Java core API (that is, source files for the java.*, javax.* and some org.* packages, but not for com.sun.* packages). This source code is provided for informational purposes only, to help developers learn and use the Java programming language. These files do not include platform-specific implementation code and cannot be used to rebuild the class libraries. To extract these files, use any common zip utility. Or, you may use the Jar utility in the JDK’s bin/ directory: jar xvf src.zip.
Also Available: Download Java Development Kit for Mac
Download Java JDK 11 (64-bit)
jdk-11.0.9.1+1
Official Release of jdk-11.0.9.1+1
jdk-11.0.9+11_openj9-0.23.0
Official Release of jdk-11.0.9+11_openj9-0.23.0
jdk-11.0.9+11.2_openj9-0.23.0
Official Release of jdk-11.0.9+11.2_openj9-0.23.0
jdk-11.0.9+11.1_openj9-0.23.0
Official Release of jdk-11.0.9+11.1_openj9-0.23.0
jdk-11.0.9+11.1
Official Release of jdk-11.0.9+11.1
jdk-11.0.9+11
Official Release of jdk-11.0.9+11
jdk-11.0.8+10_openj9-0.21.0
Official Release of jdk-11.0.8+10_openj9-0.21.0
jdk-11.0.8+10
Official Release of jdk-11.0.8+10
jdk-11.0.7+10_openj9-0.20.0
Official Release of jdk-11.0.7+10_openj9-0.20.0
jdk-11.0.7+10.2_openj9-0.20.0
Official Release of jdk-11.0.7+10.2_openj9-0.20.0
Java это Выпущенный язык программирования Разработан Sun Microsystems в 1995 году. Он стал настолько популярным, что Получил от Oracle После серии брешей в системе безопасности, которые сделали Java менее надежной. Но сейчас Java используется более чем на 15 миллиардах устройств по всему миру.
Давайте обсудим некоторые вещи о Java, а затем перейдем к ссылкам для загрузки Java для любой платформы.
Что такое Java Runtime Environment (JRE) и Java Development Kit (JDK)?
Java состоит из двух частей: Java Development Kit (JDK) для создания программ с использованием языка Java. Вторая часть — это среда выполнения Java (JRE) для запуска приложений, созданных с использованием языка Java.
Поскольку мы уже обсуждали, что Java состоит из двух частей, нам необходимо понять цель установки Java на ваш компьютер, прежде чем двигаться дальше. Файл установки зависит от вашей цели, хотите ли вы программировать или кодировать на Java или просто запускать приложения Java.
В любом случае установить Java очень просто. Просто загрузите установочные файлы по прямым ссылкам для скачивания, указанным ниже, и запустите установщики, и последняя версия Java будет автоматически загружена и установлена для вас.
Первое, что вам нужно сделать, это проверить, какую версию Java вы используете на своем устройстве в данный момент. Для этого. Откройте окно командной строки и введите следующую команду.
java -version
Обновите Java с помощью панели управления Java
Продолжайте, следуя простым шагам по обновлению JRE.
- Откройте Панель управления и перейдите в Java.
- Теперь перейдите на вкладку «Обновить» и нажмите «Обновить сейчас».
- Если доступно какое-либо новое обновление, программа установки начнет загрузку обновления, и загрузка и установка обновления Java займет 1-2 минуты.
- После завершения установки вам откроется окно подтверждения того, что загрузка была успешно завершена.
Загрузить Java вручную
Если вы не хотите использовать панель управления Java для обновления, вам нужно будет загрузить Java вручную, используя ссылки, указанные ниже. Просто скачайте нужную версию Java и запустите установочный файл. Он должен автоматически обнаружить и установить соответствующую версию программного обеспечения. Следовательно, при обновлении до последней версии системы все еще используется более старая версия.
Как установить старую версию Java
Можно установить несколько основных версий Java, где вы можете установить Java 7 и Java 8 вместе. До последней версии Java 11 также можно установить вместе со старыми версиями Java. Итак, если вы хотите запускать приложения, требующие более старую версию JRE, скорее всего, вы сможете найти ее в списке обновлений Java ниже.
Какую версию Java мне следует скачать?
Самый простой ответ на этот вопрос зависит от ваших требований. Если у вас нет особых требований, рекомендуется всегда загружать и устанавливать последнюю версию.
Загрузите автономные установщики JRE и JDK для Java для всех версий
Загрузите автономные установщики Java 11 для всех операционных систем
Похоже, что Oracle движется к модели быстрого выпуска, поскольку мы видим, что Java 9 была выпущена после Java 8, а через некоторое время была выпущена Java 10. Теперь была выпущена Java 11. Хорошая вещь в модели экспресс-выпуска заключается в том, что что пользователи будут пользоваться большим количеством функций, которые часто добавляются в Java. Обратной стороной этого подхода является то, что пользователи, а также разработчики должны идти в ногу с каждой новой версией Java.
dJava 11 является более легкой версией, поскольку прекращена поддержка модулей Java EE, CORBA, Java FX и NASRON javascript engine. Кроме того, он представляет новый клиентский API HTTP, который поддерживает HTTP 1.1 и HTTP 2. Он предоставит функции Java с некоторыми дополнительными улучшениями и изменениями. Внесенные изменения суммируются с небольшими изменениями функций и обновлениями предыдущей версии.
Объяснение цикла выпуска Java
Java 11 — первая версия, выпущенная в качестве долгосрочной поддержки выпуска. Это означает, что Java 11 будет поддерживаться в течение следующих 8 лет, и пользователи будут продолжать получать новые исправления и обновления для Java 11.
Хотя Oracle перешла к модели быстрого выпуска, она продолжит модель LTRS. Новая версия Java будет выпускаться каждые три года, и каждая версия Long-Release Support будет поддерживаться в течение восьми лет. Это означает, что Java 17 станет следующей версией LTRS, которая выйдет где-то в 2021 году.
Новые особенности
Давайте быстро рассмотрим некоторые новые функции, которые были добавлены в Java 11, а затем предоставим ссылки на автономные установщики Java 11.
Сборщик мусора Epsilon
Основная функция сборщика мусора — обрабатывать выделение памяти. Он не собирает неаккуратных данных. Он используется для проверки производительности алгоритмов сборки мусора. Это полезно для краткосрочных задач.
Самописец
Раньше это была коммерческая функция, но теперь она доступна и с открытым исходным кодом. Он записывает события ОС и JVM в файл
Контроль доступа на основе гнезда
Обеспечивает поддержку вложенных классов через внутренние классы, устраняя необходимость включения в компиляторы методов расширения доступности.
Синтаксис локальной переменной для лямбда-параметров
Эта функция была введена в java 10, но была улучшена в текущей версии. Параметры для неявно типизированных переменных могут быть определены с помощью переменных
Unicode 10
Добавлена поддержка Unicode 10, которая также включает знак биткойна.
Однофайловые программы с исходным кодом
Это позволяет запускать исходный код Java непосредственно компилятором Java, но ограничение этой функции состоит в том, что все классы должны быть включены в один файл.
Профилирование кучи с низкими накладными расходами
Распределение кучи можно отслеживать при низкой нагрузке.
Безопасность транспортного уровня (TLS) 1.3
Безопасность транспортного уровня (TLS) 1.3 была реализована в Java 11. Однако не было улучшено производительности для безопасности транспортного уровня дейтаграмм.
ZGC: Сборщик мусора
Это сборщик данных с малой задержкой, который используется для приложений, которым требуется набор кучи размером в несколько гигабайт.
перемены
Были внесены следующие изменения
- Модули Nashorn JavaScript Engine, Java EE и CORBA устарели
- JAXB был удален из JDK в JDK 11
- Библиотеки JavaFX были удалены из ядра и доступны для отдельной загрузки.
- Автоматическое обновление, ранее доступное в Windows и macOS для установок JRE, больше не доступно.
- Языковая поддержка переводов на французский, немецкий, итальянский, корейский, португальский (бразильский), испанский и шведский языки больше не поддерживается.
- Java Mission Control был отделен от JDK.
- Обновление формата упаковки для Windows и macOS изменилось. Для Windows теперь это от tar.gz до .zip, а для macOS — от .app до.dmg.
- В OpenJDK JRE или Server JRE предоставляется не только JDK. Чтобы создать меньшую настраиваемую среду выполнения, можно использовать компоновщик.
Эти изменения были внесены, чтобы облегчить версию, но при переносе некоторых проблем пользователи будут сталкиваться с ошибками, поскольку предыдущая версия предоставляет им поддержку. Хотя эта инициатива была предпринята в Java 9, эти функции не были полностью проигнорированы.
Скачать Java 11
Чтобы загрузить последние версии установщиков Java 11 JRE и JDK в автономном режиме, выполните следующие действия:
- Перейти к Ссылка для скачивания Oracle
- Я принимаю условия соглашения
- Щелкните ссылку перед платформой, для которой хотите загрузить Java.
Доступны следующие загрузки:
- Java 11 JDK для 64-разрядной версии Windows
- Java 11 JDK для Linux RPM 64-разрядная.
- Java 11 JDK для Linux TAR 64-разрядная.
- Java 11 JDK для macOS DMG 64-разрядная.
- Загрузить программное обеспечение Установить Java 8 JRE و JDK Офлайн для всех платформ. Вы также можете скачать Последняя версия Java 8 RunTime отсюда.
- Скачать установщики Ява 10 JRE و JDK Офлайн для всех платформ
Заключение
Если суммировать характеристики Java 11, то он предлагает поддержку HTTP / 2 и включает такие функции, как элементы управления доступом на основе Nest, сборщик мусора, TLS 1.3, улучшенные механизмы хранилища ключей. Этих функций может быть достаточно, чтобы соблазнить вас перейти на Java 11. Что вы думаете об этой версии Java?
Oracle seems to be moving towards a rapid release model as we can see the Java 9 was released after Java 8 and after some time, Java 10 was released. Now Java 11 has been released. The good thing about the rapid release model is that the users will enjoy more features being added to Java more often. The downside of this approach is that the users, as well as the developers, have to keep up to date with every new release of Java version.
Java 11 is a lighter version as the support for Java EE, CORBA modules, Java FX and NASRON javascript engine has been ended. Moreover, it introduces a new HTTP client API which supports HTTP 1.1 and HTTP 2. It will offer features of Java along with some further enhancements and changes. The changes made are incremental with small feature changes and updates to the earlier version.
Explaining the release cycle of Java versions
Java 11 is the first version to be released as Long Term Release Support. This means that Java 11 will be supported for the next 8 years and users will keep on getting new fixes and updates of Java 11.
Although Oracle has moved to a rapid release model it will also continue the LTRS model. A new Java version will be released after every three years and each Long Term Release Support version will be supported for a total of eight years. This means that Java 17 will be the next LTRS version which will be released somewhere in 2021.
New Features
Let’s quickly go through some of the new features added to Java 11 and then we’ll give links to Java 11 offline installers.
Epsilon garbage collector
It is known as a no-op garbage collector. The main functionality of this garbage collector is to handle memory allocation. It does not collect any garbage. It is used to check the performance of GC algorithms. It is useful for short-lived tasks.
Flight Recorder
Before that, it was a commercial feature but is available open-source now. It records the Operating system and JVM event to a file
Nest-Based Access Control
It provides the support of nested classes through inner classes while removing the need for compilers to insert accessibility-broadening bridge methods.
Local-Variable Syntax for Lambda Parameters
This feature was introduced in java 10 but it has been enhanced in the current version. The parameters for implicitly typed variables can be declared using the variables
Unicode 10
The support for Unicode 10 has been added which includes bitcoin sign too.
Single File Source-Code Programs
This allows java source code directly executed by the java interpreter but the limitation with that feature is that all classes should be included in one file
Low-Overhead Heap Profiling
The heap allocations can be traced in a low overhead framework.
Transport Layer Security (TLS) 1.3
Transport Layer Security (TLS) version 1.3 has been implemented in Java 11. However, no performance enhancement has been made for datagram transport layer security.
ZGC: Garbage Collector
It is a scale-able low-latency garbage collector used for applications that require multi-Gigabyte heap collection.
Changes
The following changes have been made
- Nashorn JavaScript Engine, Java EE and CORBA modules are deprecated
- JAXB is removed from the JDK in JDK 11
- JavaFX libraries have been removed from core and are available as a separate download.
- Auto-update previously available on Windows and macOS for JRE installations is no longer available.
- Language Support for French, German, Italian, Korean, Portuguese (Brazilian), Spanish, and Swedish translations are no longer there.
- Java Mission Control has been separated from JDK.
- Updating packaging format for Windows and macOS has been changed. For Windows, it is now from tar.gz to .zip and for macOS is from .app to.dmg
- In OpenJDK JRE or Server JRE is not offered only JDK is available. In order to create a smaller custom runtime, a link can be used.
These changes have been made to make the version lighter but while migrating some issues and errors will be encountered by the users as the earlier version provides support for them. Although such initiative has been taken from Java 9 these features had not bee completely deprecated
To download the latest offline installers of Java 11 JRE and JDK, please follow the steps below:
- Go to this Oracle download link
- Accept the agreement
- Click on the link in front of the platform you want to download.
The following downloads are available:
- Java 11 JDK for Windows 64-bit
- Java 11 JDK for Linux RPM 64-bit
- Java 11 JDK for Linux TAR 64-bit
- Java 11 JDK for MacOS DMG 64-bit
Conclusion
If we have to summarize the features of Java 11, it introduces HTTP/2 support and brings in features like Nest-based access controls, a no-op garbage collector, TLS 1.3, enhanced Keystore mechanisms. These features may be enough to entice you to upgrade to Java 11. What are your thoughts about this version of Java?
Also see:
Itechtics staff is a team of technology experts led by Usman Khurshid. We verify everything we write so that our users can be sure to trust us in everything we write. You can reach out to us for further help and support.