{"id":310942,"date":"2020-10-04T21:00:34","date_gmt":"2020-10-04T21:00:34","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=310942"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=310942","title":{"rendered":"\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Java \u0438 JVM \u0432 Java 8-15"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/521988\/\">\n<p><strong>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:<\/strong>&nbsp;29.09.2020, \u0432\u043a\u043b\u044e\u0449\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043e&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk\/15\/\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;.<\/p>\n<p>\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 8 \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 15 Java \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f 163&nbsp;<a href=\"http:\/\/openjdk.java.net\/jeps\/0\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e JDK<\/a>&nbsp;(JEP), \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043d\u043e\u0441\u0438\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.&nbsp;\u042d\u0442\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439&nbsp;<strong>\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439<\/strong>&nbsp;\u0438&nbsp;<strong>\u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439<\/strong>&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f7b\/0ef\/a80\/f7b0efa8070f0f2e73f56810f085f170\" width=\"814\" height=\"472\"><figcaption><\/figcaption><\/figure>\n<p><strong>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 API<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0430\u0439\u0442-\u043a\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0430\u043a\u043e\u0432\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>Javadoc<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435<\/p>\n<\/li>\n<li>\n<p>\u0421\u0445\u0435\u043c\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a JEP \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0435 OpenJDK \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 jdk<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk9\/\" rel=\"noopener noreferrer nofollow\">jdk9<\/a>&nbsp;.<\/p>\n<p>\u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u044b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><strong>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440<\/strong>&nbsp;&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b, \u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438.&nbsp;\u041e\u043d\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0447\u0442\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u043c\u0438, \u043e\u0436\u0438\u0434\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0443\u043d\u0434\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432.&nbsp;\u041e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/12\" rel=\"noopener noreferrer nofollow\">\u044f\u0432\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b<\/a>&nbsp;.<\/p>\n<\/li>\n<li>\n<p><strong>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435<\/strong>&nbsp; \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0435\u043d\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b \u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u0441\u044f.&nbsp;\u041e\u043d\u0438 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>\u041c\u043e\u0434\u0443\u043b\u0438&nbsp;\u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440\u0430<\/strong>&nbsp;\u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 API \u0438&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/11\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f\u0445<\/a>&nbsp;.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u044b\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <\/h3>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432 Java 8 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043b\u044f\u043c\u0431\u0434\u044b, \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c.&nbsp;\u0425\u043e\u0442\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u044e\u0449\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432 \u044f\u0437\u044b\u043a \u0431\u044b\u043b\u043e \u0432\u043d\u0435\u0441\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439.<\/p>\n<p>\u0412\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b.&nbsp;\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0441\u043c. \u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435&nbsp;<a href=\"https:\/\/advancedweb.hu\/new-language-features-since-java-8-to-14\/\" rel=\"noopener noreferrer nofollow\">\u041d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Java 8<\/a>&nbsp;.<\/p>\n<ul>\n<li>\n<p>\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/378\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/368\" rel=\"noopener noreferrer nofollow\"><strong>\u0432\u0435\u0440\u0441\u0438\u044f<\/strong><\/a>&nbsp;\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/368\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14 \u0438&nbsp;<\/strong><\/a><a href=\"https:\/\/openjdk.java.net\/jeps\/355\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">String html = \"\"\"             &lt;html&gt;                 &lt;body&gt;                     &lt;p&gt;Hello, world&lt;\/p&gt;                 &lt;\/body&gt;             &lt;\/html&gt;             \"\"\";<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c (&nbsp;<strong>\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f<\/strong>&nbsp;\u0432\u0435\u0440\u0441\u0438\u044f ) <\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/360\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<pre><code class=\"java\">public abstract sealed class Shape     permits Circle, Rectangle {...}  public class Circle extends Shape {...} \/\/ OK public class Rectangle extends Shape {...} \/\/ OK public class Triangle extends Shape {...} \/\/ Compile error  \/\/ No need for default case if all permitted types are covered double area = switch (shape) {     case Circle c    -&gt; Math.pow(c.radius(), 2) * Math.PI     case Rectangle r -&gt; r.a() * r.b() };<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u0438 (&nbsp;<strong>\u041f\u0440\u0435\u0432\u044c\u044e<\/strong>)<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/384\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/359\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<pre><code class=\"java\">record Point(int x, int y) { }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0431\u0440\u0430\u0437\u0446\u043e\u043c \u0434\u043b\u044f instanceof (<strong>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440<\/strong>)<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/375\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/305\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<pre><code class=\"java\">if (obj instanceof String s) {     System.out.println(\"obj is a String and it' length is \" + s.length()); }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/361\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a> (\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f <a href=\"https:\/\/openjdk.java.net\/jeps\/325\" rel=\"noopener noreferrer nofollow\"><strong>\u0432\u0435\u0440\u0441\u0438\u044f<\/strong><\/a> \u0432 <a href=\"https:\/\/openjdk.java.net\/jeps\/325\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/354\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a>)<\/p>\n<pre><code class=\"java\">int numLetters = switch (day) {     case MONDAY, FRIDAY, SUNDAY -&gt; 6;     case TUESDAY                -&gt; 7;     default      -&gt; {       String s = day.toString();       int result = s.length();       yield result;     } };<\/code><\/pre>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f NullPointerExceptions, \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435, \u043a\u0430\u043a\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u044b\u043b\u0430 null<\/p>\n<p><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8233014\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a> (\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e&nbsp;<code>-XX:+ShowCodeDetailsInExceptionMessages<\/code>\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/358\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">a.b.c.i = 99; --- Exception in thread \"main\" java.lang.NullPointerException:       Cannot read field \"c\" because \"a.b\" is null<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 <code>var<\/code>\u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u043d\u0435\u0435 \u0446\u0435\u0440\u0435\u043c\u043e\u043d\u043d\u044b\u043c\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/323\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a> (\u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043b\u044f\u043c\u0431\u0434\u0430 \u0432 <a href=\"https:\/\/openjdk.java.net\/jeps\/286\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a> )<\/p>\n<pre><code class=\"java\">var greeting = \"Hello World!\";<\/code><\/pre>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0430\u044f \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&nbsp;<code>ClassDefNotFoundErrors<\/code>\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 API<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/261\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (Project Jigsaw)<\/p>\n<pre><code class=\"java\">module hu.advancedweb.helloworld {     requires hu.advancedweb.somedependency;     exports hu.advancedweb.hello }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 Diamond \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>Try-with-resources \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c final&nbsp;\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p><code>@SafeVargs<\/code>\u0432&nbsp; \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u0447\u0430\u0441\u0442\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u043e\u0431 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u0438 \u0434\u043b\u044f<em> <\/em><code>import<\/code>\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u044b\u0435 API<\/h3>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0441\u043e \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 Java, \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0432 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 API \u043c\u0435\u0436\u0434\u0443 Java 8 \u0438 14, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 <a href=\"https:\/\/github.com\/AdoptOpenJDK\/jdk-api-diff\" rel=\"noopener noreferrer nofollow\">AdoptOpenJDK \/ jdk-api-diff \u043d\u0430 GitHub<\/a>&nbsp;.<\/p>\n<h4>\u041e\u0431\u0449\u0435\u0435<\/h4>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0445 \u0431\u0443\u0444\u0435\u0440\u043e\u0432 (Non-Volatile Mapped Byte Buffers) \u0432 API-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 FileChannel<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/352\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Files.mismatch<\/code>: \u043d\u0430\u0439\u0442\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c \u0434\u0432\u0443\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/nio\/file\/Files.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Collectors.teeing<\/code>\u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043c\u0435\u0441\u044c \u0434\u0432\u0443\u0445 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u043e\u0432<br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/util\/stream\/Collectors.html#teeing(java.util.stream.Collector,java.util.stream.Collector,java.util.function.BiFunction)\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a:&nbsp;<code>indent<\/code>\u0438&nbsp;<code>transform<\/code><br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/lang\/String.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 HTTP-\u043a\u043b\u0438\u0435\u043d\u0442 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 HTTP\/2, WebSocket \u0438 \u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u043c API<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/321\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;(&nbsp;<strong>Incubator<\/strong>&nbsp;\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/110\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">HttpClient httpClient = HttpClient.newBuilder().build();  HttpRequest request =   HttpRequest.newBuilder()     .uri(URI.create(\"https:\/\/advancedweb.hu\/\"))     .GET()     .build();  HttpResponse&lt;String&gt; response =   httpClient.send(request, BodyHandlers.ofString());<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0423\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a &#8212; \u043c\u0435\u0442\u043e\u0434\u044b: <code>isBlank<\/code>,&nbsp;<code>lines<\/code>,&nbsp;<code>repeat<\/code>\u0438&nbsp;<code>strip<\/code><br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/11\/docs\/api\/java.base\/java\/lang\/String.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<pre><code class=\"java\">Set&lt;Integer&gt; mySet = Set.of(1, 2, 3); List&lt;Integer&gt; myList = List.of(1, 2, 3); Map&lt;String, Integer&gt; myMap = Map.of(\"one\", 1, \"two\", 2);<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438-\u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 Reactive Streams \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441 \u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <code>CompletableFuture<\/code>(\u0442\u0430\u0439\u043c-\u0430\u0443\u0442, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f (&nbsp;<code>dropWhile<\/code>,&nbsp;<code>takeWhile<\/code>) \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 (&nbsp;<code>iterate<\/code>,&nbsp;<code>ofNullable<\/code>) \u043f\u043e\u0442\u043e\u043a\u043e\u0432;&nbsp;\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f (&nbsp;<code>toUnmodifiableList<\/code>);&nbsp;\u043e\u043f\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u043e\u0442\u043e\u043a\u0438<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/docs\/api\/java\/util\/stream\/Stream.html#iterate-T-java.util.function.UnaryOperator-\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Arrays.mismatch<\/code>: \u043d\u0430\u0439\u0442\u0438&nbsp;\u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/docs\/api\/java\/util\/Arrays.html#mismatch-java.lang.Object:A-java.lang.Object:A-\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Stack-Walking API, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u043a\u0430\u0434\u0440\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/259\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>API \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0426\u041f, \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \/ \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <code>ProcessBuilder<\/code>&nbsp;\u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/102\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>VarHandle<\/code>API \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438,&nbsp;<code>java.util.concurrent.atomic<\/code>\u0438&nbsp;<code>sun.misc.Unsafe<\/code>\u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/193\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043b\u044f&nbsp;<code>MethodHandle<\/code><br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/274\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u044f.&nbsp;<code>@Deprecated<\/code>\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u0437\u043d\u0430\u0447\u043a\u043e\u043c&nbsp;<code>forRemoval<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/277\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>OASIS Standard XML Catalog API \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0432 XML<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/268\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 XML JDK, Xerces, \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.11.0<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/255\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 TIFF \u0434\u043b\u044f Image I\/O Framework<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/262\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0418\u043d\u0442\u0435\u0440\u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h4>\n<ul>\n<li>\n<p>Unicode 10.0, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 27000 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, 10 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438 \u0431\u043e\u043b\u0435\u0435 30 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/327\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;(\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Unicode 8.0 \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/267\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;)<\/p>\n<\/li>\n<li>\n<p><code>java.util.Locale<\/code>\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 API \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0442\u0438\u043f \u0432\u0430\u043b\u044e\u0442\u044b, \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/314\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>ResourceBundle<\/code>\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432 UTF-8 \u0432\u043c\u0435\u0441\u0442\u043e ISO-8859-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/226\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043b\u043e\u043a\u0430\u043b\u0438 CLDR \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/252\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0413\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h4>\n<ul>\n<li>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432\u0445\u043e\u0434\u0430 \/ \u0432\u044b\u0432\u043e\u0434\u0430 \/ \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u0430\u043d\u0435\u043b\u044c\u044e \u0437\u0430\u0434\u0430\u0447<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/272\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>MultiResolutionImage<\/code>\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f DPI<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/251\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a\u0430 HiDPI \u0432 Windows \u0438 Linux<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/263\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 GTK 3 \u0432 Linux \u0434\u043b\u044f JavaFX, Swing \u0438 AWT<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/283\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430&nbsp;\u0442\u0435\u0433\u043e\u0432 Javadoc <code>@beaninfo<\/code>\u0438&nbsp;<code>@BeanInfo<\/code>\u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f\u043c\u0438 \u0434\u043b\u044f Swing<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/256\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 GStreamer, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043d\u043d\u043e\u0435 \u0432 JavaFX \/ Media, \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 1.4.4<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/257\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 ICU OpenType \u043d\u0430 HarfBuzz<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/258\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h3>\n<h4>\u041e\u0431\u0449\u0435\u0435<\/h4>\n<ul>\n<li>\n<p>API \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043d\u0435 \u043a\u0443\u0447\u0438 (&nbsp;<strong>\u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440<\/strong>&nbsp;)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/383\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15&nbsp;<\/strong><\/a><a href=\"https:\/\/openjdk.java.net\/jeps\/370\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/350\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0431\u043c\u0435\u043d\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 Java.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/310\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u0440\u0445\u0438\u0432 \u0441 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 &#171;\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438&#187;<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/341\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c, \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/254\" rel=\"noopener noreferrer nofollow\"><strong>\u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435<\/strong><\/a>&nbsp;\u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Latin-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/254\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0435\u0448\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438 \u043d\u0435\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/197\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/250\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/h4>\n<ul>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;\u0434\u043b\u044f&nbsp;<code>java.lang.Math<\/code>&nbsp;<code>sin<\/code>,&nbsp;<code>cos<\/code>\u0438&nbsp;<code>log<\/code>\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 AArch64<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/315\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Security Manager<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/232\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Spin-Wait Hint (&nbsp;<code>Thread#onSpinWait<\/code>) \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432 \u0432 \u0441\u0442\u0438\u043b\u0435 \u00ab\u0437\u0430\u043d\u044f\u0442\u043e-\u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435\u00bb<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/285\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Marlin Renderer \u0432 Java 2D \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e Pisces<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/265\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c GHASH \u0438 RSA \u0437\u0430 \u0441\u0447\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 SPARC \u0438 Intel x64<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/246\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9.<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c<\/h4>\n<ul>\n<li>\n<p>Thread-Local Handshakes (\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0443\u043a\u043e\u043f\u043e\u0436\u0430\u0442\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u0430) \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/312\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u043e\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/143\" rel=\"noopener noreferrer nofollow\"><strong>\u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445<\/strong><\/a>&nbsp;\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/143\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0441\u0442\u0435\u043a\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0435\u043a\u0446\u0438\u0439, \u0441\u043d\u0438\u0436\u0430\u044e\u0449\u0435\u0435 \u0440\u0438\u0441\u043a \u0442\u0443\u043f\u0438\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043f\u0440\u0438&nbsp;<code>java.util.concurrent<\/code>\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/270\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440<\/h4>\n<ul>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c&nbsp;\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439&nbsp;\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f Linux (&nbsp;<strong>\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f<\/strong>&nbsp;)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/246\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a>&nbsp;(Graal \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/243\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 JVM-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/295\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(Graal \u043a\u0430\u043a AoT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440)<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 javac: \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u043e\u0432 \u043c\u043d\u043e\u0433\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/215\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 G1 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)<\/h4>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c NUMA<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/345\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0430\u0443\u0437\u044b<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/344\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u043a\u0443\u0447\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/346\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u0434\u043b\u044f&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/307\" rel=\"noopener noreferrer nofollow\"><strong>\u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f<\/strong><\/a>&nbsp;\u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0432 \u0445\u0443\u0434\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/307\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 G1 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e Parallel GC<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/248\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u043c\u0443\u0441\u043e\u0440\u0430<\/h4>\n<ul>\n<li>\n<p>Z Garbage Collector, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0438\u0439 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u0443\u0447<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/379\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(&nbsp;<strong>\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439<\/strong>&nbsp;\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/365\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a>&nbsp;(Windows)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/364\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a>&nbsp;(OS X)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/333\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;(Linux))<\/p>\n<\/li>\n<li>\n<p>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 Shenandoah, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0438\u0439 \u0442\u0435 \u0436\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u0447\u0442\u043e \u0438 ZGC, \u043d\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/377\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(&nbsp;<strong>\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439<\/strong> \u0432 <a href=\"https:\/\/openjdk.java.net\/jeps\/189\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a>)<\/p>\n<\/li>\n<li>\n<p>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 Epsilon, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0441\u0442\u0440\u0435\u043c\u044f\u0441\u044c \u043a \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u043c \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/318\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>XX:AllocateHeapAt=&amp;lt;path&gt;<\/code>\u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u0430\u043c\u044f\u0442\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/316\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/h4>\n<ul>\n<li>\n<p>\u041f\u043e\u0442\u043e\u043a\u043e\u0432\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 Flight Recorder: \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0447\u0435\u0440\u0435\u0437&nbsp;<a href=\"https:\/\/cr.openjdk.java.net\/~egahlin\/jep-349\/javadocs\/api\/jdk.jfr\/jdk\/jfr\/consumer\/package-summary.html\" rel=\"noopener noreferrer nofollow\">API<\/a>&nbsp;, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b\u043c \u0434\u043b\u044f \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/349\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Microbenchmark Suite \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 JMH<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/230\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Flight Recorder \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e OpenJDK<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/328\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0443\u0447\u0438 \u0441 \u043d\u0438\u0437\u043a\u0438\u043c\u0438 \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 JMTI<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/331\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0439 \u0434\u043b\u044f \u043c\u0435\u0442\u043e\u0434\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 C1 \u0438 C2, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/165\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u0435\u0442\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f, \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 JVM<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/158\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(\u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 JVM)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/271\" rel=\"noopener noreferrer nofollow\">JDK 9<\/a>&nbsp;(\u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/264\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/h3>\n<ul>\n<li>\n<p>\u041d\u0430\u0431\u043e\u0440 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 (CA) \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 JDK, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f TLS \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/319\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/290\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0422\u0438\u043f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e &#8212; \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 PKCS12 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u0433\u043e JKS<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/229\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9.<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 DRBG<code>SecureRandom<\/code><br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/273\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9 \u043d\u0430<\/strong><\/a>&nbsp;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 X.509 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SHA-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/288\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0425\u0435\u0448-\u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b SHA-3<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/287\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>TLS<\/h4>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 TLS 1.3 <br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/332\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Datagram Transport Layer Security (DTLS) API<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/219\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>OCSP \u0441\u0448\u0438\u0432\u0430\u0435\u0442 TLS \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/249\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>TLS Application-Layer Protocol Negotiation (ALPN) Extension, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0431\u0435\u0437 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0446\u0438\u043a\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438;&nbsp;ALPN &#8212; \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 HTTP\/ 2<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/244\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u0440\u0438\u043f\u0442\u043e<\/h4>\n<ul>\n<li>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043f\u043e \u043a\u0440\u0438\u0432\u043e\u0439 \u042d\u0434\u0432\u0430\u0440\u0434\u0441\u0430 (EdDSA) &#8212;&nbsp;<a href=\"https:\/\/tools.ietf.org\/html\/rfc8032\" rel=\"noopener noreferrer nofollow\">RFC8032<\/a><br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/339\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0441 Curve25519 \u0438 Curve448<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/324\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b ChaCha20 \u0438 Poly1305<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/329\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a<\/h3>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u043e\u0434\u043d\u043e\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443&nbsp;shebang(<code>#!<\/code>) \u0441\u0442\u0440\u043e\u043a\u0438&nbsp;\u0432 Unix<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/330\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>jshell<\/code>: Java REPL<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/222\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(Project Kulla)<br \/>\u2192 \u0421\u0432\u044f\u0437\u0430\u043d\u043e:&nbsp;<a href=\"https:\/\/advancedweb.hu\/prototyping-with-jshell\/\" rel=\"noopener noreferrer nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e JShell<\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0434\u043b\u044f \u0421\u0442\u0430\u0440\u044b\u0445 \u0412\u0435\u0440\u0441\u0438\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0441&nbsp;<code>--release<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442&nbsp;<code>--source<\/code>\u0438&nbsp;<code>--target<\/code>\u0438 \u0441\u0441\u044b\u043b\u043e\u043a \u043f\u0440\u043e\u0442\u0438\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/247\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u043d\u043d\u044f\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0444\u043b\u0430\u0433\u043e\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 JVM \u0432\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u0441\u0431\u043e\u0435\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/245\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0423\u043f\u0430\u043a\u043e\u0432\u043a\u0430<\/h3>\n<ul>\n<li>\n<p>Packaging Tool, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432: msi, exe, pkg, dmg, deb \u0438 rpm (&nbsp;<strong>Incubator<\/strong>&nbsp;)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/343\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>jlink<\/code>\u041a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0449\u0438\u043a Java, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043d\u043a\u0438\u0439 \u043e\u0431\u0440\u0430\u0437 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Java, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 JDK<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/282\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;&#8212; [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/220\" rel=\"noopener noreferrer nofollow\">2<\/a>&nbsp;], [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/275\" rel=\"noopener noreferrer nofollow\">3<\/a>&nbsp;], [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/200\" rel=\"noopener noreferrer nofollow\">4<\/a>&nbsp;], [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/201\" rel=\"noopener noreferrer nofollow\">4<\/a>&nbsp;], [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/260\" rel=\"noopener noreferrer nofollow\">5<\/a>&nbsp;]<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0439\u043b\u044b JAR \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0440\u0441\u0438\u0439 \u043a\u043b\u0430\u0441\u0441\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 Java \u0432 \u043e\u0434\u043d\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/238\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>Javadoc<\/h3>\n<ul>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 Javadoc \u0442\u0435\u043f\u0435\u0440\u044c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 HTML5 \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u0430\u043a\u0435\u0442\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0444\u0440\u0435\u0439\u043c\u043e\u0432, \u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043b\u0435 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043b\u044f \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438<a href=\"https:\/\/openjdk.java.net\/jeps\/225\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;&#8212; [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/224\" rel=\"noopener noreferrer nofollow\">2<\/a>&nbsp;], [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/221\" rel=\"noopener noreferrer nofollow\">3<\/a>&nbsp;]<\/p>\n<\/li>\n<\/ul>\n<h3>\u0411\u0430\u0439\u0442-\u043a\u043e\u0434<\/h3>\n<ul>\n<li>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430&nbsp;<code>Unsafe::defineAnonymousClass()<\/code>\u043d\u0430&nbsp;<code>Lookup::defineHiddenClass()<\/code>, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u043c\u0438.&nbsp;<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/371\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u043a\u0435\u0442 <code>java.lang.invoke.constant<\/code>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b (\u043e\u043f\u0435\u0440\u0430\u043d\u0434\u044b \u0434\u043b\u044f&nbsp;<code>ldc<\/code>\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438), \u0447\u0442\u043e \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c, \u0447\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/334\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>CONSTANT_Dynamic<\/code>\u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u043f\u0443\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e&nbsp;<code>INVOKEDYNAMIC<\/code>\u0432\u044b\u0437\u043e\u0432\u0430\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/309\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c Nest, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0430 &#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b &#8212; \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u043e\u0441\u0442\u0430 \u0432 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0431\u0430\u0439\u0442-\u043a\u043e\u0434.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/181\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u0430\u0439\u0442-\u043a\u043e\u0434, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <code>invokedynamic<\/code>&nbsp;\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f <code>StringBuilder#append<\/code>&nbsp;\u0446\u0435\u043f\u043e\u0447\u0435\u043a. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0430\u0439\u0442-\u043a\u043e\u0434\u0430.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/280\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>INVOKEDYNAMIC<\/code>&nbsp;\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \/ \u0438\u043b\u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/276\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/h3>\n<ul>\n<li>\n<p>Linux \/ AArch64<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/237\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Linux \/ s390x<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/294\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0440\u0443\u043a\u043032 \/ \u0440\u0443\u043a\u043064<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/297\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0421\u0445\u0435\u043c\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438<\/h3>\n<ul>\n<li>\n<p>\u0411\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/223\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9&nbsp;<\/strong><\/a><a href=\"https:\/\/openjdk.java.net\/jeps\/322\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435<\/h3>\n<ul>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0430 Nashorn Javascript Engine \u0438&nbsp;<code>jjs<\/code>\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/372\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/335\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;)<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u044b \u043f\u043e\u0440\u0442\u044b Solaris \u0438 SPARC<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/381\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(\u0443\u0441\u0442\u0430\u0440\u0435\u043b\u043e \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/362\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a>&nbsp;)<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0430&nbsp;<a href=\"https:\/\/docs.oracle.com\/javase\/9\/docs\/specs\/rmi\/activation.html\" rel=\"noopener noreferrer nofollow\">\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f RMI<\/a>&nbsp;, \u0432\u043b\u0438\u044f\u044e\u0449\u0430\u044f \u043d\u0430&nbsp;<code>java.rmi.activation<\/code>\u043f\u0430\u043a\u0435\u0442 \u0438&nbsp;<code>rmid<\/code>\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043d\u0435 \u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 Java RMI \u0432 \u0446\u0435\u043b\u043e\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/385\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430&nbsp;<a href=\"https:\/\/stackoverflow.com\/questions\/9439602\/biased-locking-in-java\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u0432\u0437\u044f\u0442\u0430\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a<\/a>\u0430&nbsp;\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0444\u043b\u0430\u0433\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/374\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0430&nbsp;<code>Unsafe::defineAnonymousClass()<\/code><br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/371\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 Concurrent Mark Sweep (CMS)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/363\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f ParallelScavenge + SerialOld GC<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/366\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b Pack200 \u0438 API<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/367\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b Pack200 \u0438 API<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/336\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0430 Java EE<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/320\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0430 CORBA<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/321\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u044b <code>Thread#destroy<\/code>\u0438&nbsp;<code>Thread#stop<\/code><br \/><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8204243\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>var<\/code>\u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/286\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 javah<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/313\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 API (&nbsp;<code>sun.*<\/code>) \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/260\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> [&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/253\" rel=\"noopener noreferrer nofollow\">2<\/a>&nbsp;]<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d <code>apple.applescript<\/code>\u0438&nbsp;<code>com.apple<\/code>\u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/272\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 X.509 \u0441 \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 SHA-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/288\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b \u0432\u044b\u0431\u043e\u0440\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 JRE \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435:&nbsp;<code>JRE-Version<\/code>\u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u0438&nbsp;<code>-version:<\/code>\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 cli<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/231\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 jhat<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/241\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d JVM TI hprof Agent<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/240\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 GC, \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0432 JDK 8<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/214\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>ResourceBundle \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432 UTF-8 \u0432\u043c\u0435\u0441\u0442\u043e ISO-8859-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/226\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u043e API \u0430\u043f\u043f\u043b\u0435\u0442\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/289\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0430&nbsp;Concurrent Mark Sweep Garbage Collector<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/291\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u0440\u0435\u043b\u0430&nbsp;<code>Object.finalize()<\/code><br \/><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8165641\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u044b \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b&nbsp;\u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 (&nbsp;<code>lib\/endorsed<\/code>) \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 (&nbsp;<code>lib\/ext<\/code>) \u0438\u0437 JRE<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/migrate\/toc.htm#JSMIG-GUID-A78CC891-701D-4549-AA4E-B8DD90228B4B\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d <code>rt.jar<\/code>\u0438\u0437 JRE<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/migrate\/toc.htm#JSMIG-GUID-A78CC891-701D-4549-AA4E-B8DD90228B4B\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 API \u043c\u0435\u0436\u0434\u0443 Java 8 \u0438 14, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0430\u0439\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430&nbsp;<a href=\"https:\/\/github.com\/marchof\/java-almanac\" rel=\"noopener noreferrer nofollow\">Java Almanac<\/a>&nbsp;.&nbsp;\u0422\u0430\u043a\u0436\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441&nbsp;<a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/tools\/unix\/jdeps.html\" rel=\"noopener noreferrer nofollow\">jdeps<\/a>&nbsp;, \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 Java, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043b\u0438 \u0432\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u0442\u0430\u0440\u044b\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 API.<\/p>\n<h3>\u0420\u0435\u0437\u044e\u043c\u0435<\/h3>\n<p><a href=\"https:\/\/openjdk.java.net\/projects\/jdk8\/\" rel=\"noopener noreferrer nofollow\">JDK 8<\/a>&nbsp;\u0431\u044b\u043b \u0432\u044b\u043f\u0443\u0449\u0435\u043d \u0432 2014 \u0433\u043e\u0434\u0443. \u041d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0436\u0434\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434\u0430&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk9\/\" rel=\"noopener noreferrer nofollow\">JDK 9<\/a>&nbsp;\u0442\u0440\u0438 \u0441 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043e\u0439 \u0433\u043e\u0434\u0430&nbsp;.&nbsp;\u041d\u043e \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u0434\u0435\u043b\u0430 \u043f\u043e\u0448\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435.&nbsp;\u0423 Java \u0435\u0441\u0442\u044c \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u043b\u0438\u0437\u043e\u0432, \u0446\u0435\u043b\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 &#8212; \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432.<\/p>\n<p>\u0425\u043e\u0442\u044f Java 8 \u0432\u0441\u0435 \u0435\u0449\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u043d\u043e\u0441\u0438\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/521988\/\"> https:\/\/habr.com\/ru\/post\/521988\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/521988\/\">\n<p><strong>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:<\/strong>&nbsp;29.09.2020, \u0432\u043a\u043b\u044e\u0449\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043e&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk\/15\/\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;.<\/p>\n<p>\u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 8 \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 15 Java \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f 163&nbsp;<a href=\"http:\/\/openjdk.java.net\/jeps\/0\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e JDK<\/a>&nbsp;(JEP), \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043d\u043e\u0441\u0438\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.&nbsp;\u042d\u0442\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439&nbsp;<strong>\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439<\/strong>&nbsp;\u0438&nbsp;<strong>\u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439<\/strong>&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0432\u0430\u0436\u043d\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/strong><\/p>\n<ul>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 API<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0430\u0439\u0442-\u043a\u043e\u0434\u0430<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a<\/p>\n<\/li>\n<li>\n<p>\u0423\u043f\u0430\u043a\u043e\u0432\u043a\u0430<\/p>\n<\/li>\n<li>\n<p>Javadoc<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435<\/p>\n<\/li>\n<li>\n<p>\u0421\u0445\u0435\u043c\u0430 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a JEP \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0435 OpenJDK \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk\/\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 jdk<\/a>&nbsp;\u0438&nbsp;<a href=\"https:\/\/openjdk.java.net\/projects\/jdk9\/\" rel=\"noopener noreferrer nofollow\">jdk9<\/a>&nbsp;.<\/p>\n<p>\u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u044b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><strong>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440<\/strong>&nbsp;&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b, \u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438.&nbsp;\u041e\u043d\u0438 \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0447\u0442\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u044b\u043c\u0438, \u043e\u0436\u0438\u0434\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0443\u043d\u0434\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432.&nbsp;\u041e\u043d\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/12\" rel=\"noopener noreferrer nofollow\">\u044f\u0432\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b<\/a>&nbsp;.<\/p>\n<\/li>\n<li>\n<p><strong>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435<\/strong>&nbsp; \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u0435\u043d\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b \u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u0441\u044f.&nbsp;\u041e\u043d\u0438 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>\u041c\u043e\u0434\u0443\u043b\u0438&nbsp;\u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440\u0430<\/strong>&nbsp;\u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 API \u0438&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/11\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f\u0445<\/a>&nbsp;.<\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u044b\u0435 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <\/h3>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432 Java 8 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043b\u044f\u043c\u0431\u0434\u044b, \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c.&nbsp;\u0425\u043e\u0442\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u044e\u0449\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0432 \u044f\u0437\u044b\u043a \u0431\u044b\u043b\u043e \u0432\u043d\u0435\u0441\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439.<\/p>\n<p>\u0412\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b.&nbsp;\u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0441\u043c. \u0412 \u0440\u0430\u0437\u0434\u0435\u043b\u0435&nbsp;<a href=\"https:\/\/advancedweb.hu\/new-language-features-since-java-8-to-14\/\" rel=\"noopener noreferrer nofollow\">\u041d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Java 8<\/a>&nbsp;.<\/p>\n<ul>\n<li>\n<p>\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0431\u043b\u043e\u043a\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/378\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a>&nbsp;(\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/368\" rel=\"noopener noreferrer nofollow\"><strong>\u0432\u0435\u0440\u0441\u0438\u044f<\/strong><\/a>&nbsp;\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/368\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14 \u0438&nbsp;<\/strong><\/a><a href=\"https:\/\/openjdk.java.net\/jeps\/355\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">String html = \"\"\"             &lt;html&gt;                 &lt;body&gt;                     &lt;p&gt;Hello, world&lt;\/p&gt;                 &lt;\/body&gt;             &lt;\/html&gt;             \"\"\";<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c (&nbsp;<strong>\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f<\/strong>&nbsp;\u0432\u0435\u0440\u0441\u0438\u044f ) <\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/360\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><\/p>\n<pre><code class=\"java\">public abstract sealed class Shape     permits Circle, Rectangle {...}  public class Circle extends Shape {...} \/\/ OK public class Rectangle extends Shape {...} \/\/ OK public class Triangle extends Shape {...} \/\/ Compile error  \/\/ No need for default case if all permitted types are covered double area = switch (shape) {     case Circle c    -&gt; Math.pow(c.radius(), 2) * Math.PI     case Rectangle r -&gt; r.a() * r.b() };<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u0438 (&nbsp;<strong>\u041f\u0440\u0435\u0432\u044c\u044e<\/strong>)<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/384\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/359\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<pre><code class=\"java\">record Point(int x, int y) { }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0431\u0440\u0430\u0437\u0446\u043e\u043c \u0434\u043b\u044f instanceof (<strong>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440<\/strong>)<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/375\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/305\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<pre><code class=\"java\">if (obj instanceof String s) {     System.out.println(\"obj is a String and it' length is \" + s.length()); }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/361\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a> (\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f <a href=\"https:\/\/openjdk.java.net\/jeps\/325\" rel=\"noopener noreferrer nofollow\"><strong>\u0432\u0435\u0440\u0441\u0438\u044f<\/strong><\/a> \u0432 <a href=\"https:\/\/openjdk.java.net\/jeps\/325\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><strong> \u0438 <\/strong><a href=\"https:\/\/openjdk.java.net\/jeps\/354\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a>)<\/p>\n<pre><code class=\"java\">int numLetters = switch (day) {     case MONDAY, FRIDAY, SUNDAY -&gt; 6;     case TUESDAY                -&gt; 7;     default      -&gt; {       String s = day.toString();       int result = s.length();       yield result;     } };<\/code><\/pre>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f NullPointerExceptions, \u0442\u043e\u0447\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435, \u043a\u0430\u043a\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0431\u044b\u043b\u0430 null<\/p>\n<p><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8233014\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15<\/strong><\/a> (\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e&nbsp;<code>-XX:+ShowCodeDetailsInExceptionMessages<\/code>\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/358\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">a.b.c.i = 99; --- Exception in thread \"main\" java.lang.NullPointerException:       Cannot read field \"c\" because \"a.b\" is null<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 <code>var<\/code>\u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u043d\u0435\u0435 \u0446\u0435\u0440\u0435\u043c\u043e\u043d\u043d\u044b\u043c\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/323\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a> (\u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043b\u044f\u043c\u0431\u0434\u0430 \u0432 <a href=\"https:\/\/openjdk.java.net\/jeps\/286\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a> )<\/p>\n<pre><code class=\"java\">var greeting = \"Hello World!\";<\/code><\/pre>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0430\u044f \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&nbsp;<code>ClassDefNotFoundErrors<\/code>\u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 API<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/261\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (Project Jigsaw)<\/p>\n<pre><code class=\"java\">module hu.advancedweb.helloworld {     requires hu.advancedweb.somedependency;     exports hu.advancedweb.hello }<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 Diamond \u0434\u043b\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>Try-with-resources \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c final&nbsp;\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p><code>@SafeVargs<\/code>\u0432&nbsp; \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u0447\u0430\u0441\u0442\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a> (\u041f\u0440\u043e\u0435\u043a\u0442 Milling Coin)<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 \u043e\u0431 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u0438 \u0434\u043b\u044f<em> <\/em><code>import<\/code>\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/213\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u041d\u043e\u0432\u044b\u0435 API<\/h3>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0441\u043e \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 Java, \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0432 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 API \u043c\u0435\u0436\u0434\u0443 Java 8 \u0438 14, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 <a href=\"https:\/\/github.com\/AdoptOpenJDK\/jdk-api-diff\" rel=\"noopener noreferrer nofollow\">AdoptOpenJDK \/ jdk-api-diff \u043d\u0430 GitHub<\/a>&nbsp;.<\/p>\n<h4>\u041e\u0431\u0449\u0435\u0435<\/h4>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0445 \u0431\u0443\u0444\u0435\u0440\u043e\u0432 (Non-Volatile Mapped Byte Buffers) \u0432 API-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 FileChannel<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/352\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Files.mismatch<\/code>: \u043d\u0430\u0439\u0442\u0438 \u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c \u0434\u0432\u0443\u0445 \u0444\u0430\u0439\u043b\u043e\u0432<br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/nio\/file\/Files.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Collectors.teeing<\/code>\u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043c\u0435\u0441\u044c \u0434\u0432\u0443\u0445 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0445 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u043e\u0432<br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/util\/stream\/Collectors.html#teeing(java.util.stream.Collector,java.util.stream.Collector,java.util.function.BiFunction)\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a:&nbsp;<code>indent<\/code>\u0438&nbsp;<code>transform<\/code><br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/12\/docs\/api\/java.base\/java\/lang\/String.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 HTTP-\u043a\u043b\u0438\u0435\u043d\u0442 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 HTTP\/2, WebSocket \u0438 \u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u043c API<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/321\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;(&nbsp;<strong>Incubator<\/strong>&nbsp;\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/110\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;)<\/p>\n<pre><code class=\"java\">HttpClient httpClient = HttpClient.newBuilder().build();  HttpRequest request =   HttpRequest.newBuilder()     .uri(URI.create(\"https:\/\/advancedweb.hu\/\"))     .GET()     .build();  HttpResponse&lt;String&gt; response =   httpClient.send(request, BodyHandlers.ofString());<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0423\u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a &#8212; \u043c\u0435\u0442\u043e\u0434\u044b: <code>isBlank<\/code>,&nbsp;<code>lines<\/code>,&nbsp;<code>repeat<\/code>\u0438&nbsp;<code>strip<\/code><br \/><a href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/11\/docs\/api\/java.base\/java\/lang\/String.html\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<pre><code class=\"java\">Set&lt;Integer&gt; mySet = Set.of(1, 2, 3); List&lt;Integer&gt; myList = List.of(1, 2, 3); Map&lt;String, Integer&gt; myMap = Map.of(\"one\", 1, \"two\", 2);<\/code><\/pre>\n<\/li>\n<li>\n<p>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u043a \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438-\u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 Reactive Streams \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441 \u043d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u043c \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <code>CompletableFuture<\/code>(\u0442\u0430\u0439\u043c-\u0430\u0443\u0442, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/266\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f (&nbsp;<code>dropWhile<\/code>,&nbsp;<code>takeWhile<\/code>) \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 (&nbsp;<code>iterate<\/code>,&nbsp;<code>ofNullable<\/code>) \u043f\u043e\u0442\u043e\u043a\u043e\u0432;&nbsp;\u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f (&nbsp;<code>toUnmodifiableList<\/code>);&nbsp;\u043e\u043f\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u043e\u0442\u043e\u043a\u0438<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/docs\/api\/java\/util\/stream\/Stream.html#iterate-T-java.util.function.UnaryOperator-\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>Arrays.mismatch<\/code>: \u043d\u0430\u0439\u0442\u0438&nbsp;\u043f\u0435\u0440\u0432\u044b\u0439 \u043d\u0435\u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438<br \/><a href=\"https:\/\/docs.oracle.com\/javase\/9\/docs\/api\/java\/util\/Arrays.html#mismatch-java.lang.Object:A-java.lang.Object:A-\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Stack-Walking API, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u043a\u0430\u0434\u0440\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/259\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>API \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0426\u041f, \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \/ \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <code>ProcessBuilder<\/code>&nbsp;\u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0449\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/102\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>VarHandle<\/code>API \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u043d\u044b \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438,&nbsp;<code>java.util.concurrent.atomic<\/code>\u0438&nbsp;<code>sun.misc.Unsafe<\/code>\u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/193\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0442\u043e\u0440\u044b \u0438 \u043c\u0435\u0442\u043e\u0434\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043b\u044f&nbsp;<code>MethodHandle<\/code><br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/274\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0430\u043d\u0438\u044f.&nbsp;<code>@Deprecated<\/code>\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u0447\u0435\u043d \u0437\u043d\u0430\u0447\u043a\u043e\u043c&nbsp;<code>forRemoval<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u043e\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/277\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>OASIS Standard XML Catalog API \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0432 XML<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/268\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 XML JDK, Xerces, \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 2.11.0<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/255\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 TIFF \u0434\u043b\u044f Image I\/O Framework<\/p>\n<p><a href=\"https:\/\/openjdk.java.net\/jeps\/262\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0418\u043d\u0442\u0435\u0440\u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h4>\n<ul>\n<li>\n<p>Unicode 10.0, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 27000 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, 10 \u0431\u043b\u043e\u043a\u043e\u0432 \u0438 \u0431\u043e\u043b\u0435\u0435 30 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/327\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a>&nbsp;(\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Unicode 8.0 \u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/267\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;)<\/p>\n<\/li>\n<li>\n<p><code>java.util.Locale<\/code>\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 API \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0442\u0438\u043f \u0432\u0430\u043b\u044e\u0442\u044b, \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/314\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>ResourceBundle<\/code>\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0432 UTF-8 \u0432\u043c\u0435\u0441\u0442\u043e ISO-8859-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/226\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043b\u043e\u043a\u0430\u043b\u0438 CLDR \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/252\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0413\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h4>\n<ul>\n<li>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432\u0445\u043e\u0434\u0430 \/ \u0432\u044b\u0432\u043e\u0434\u0430 \/ \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u0430\u043d\u0435\u043b\u044c\u044e \u0437\u0430\u0434\u0430\u0447<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/272\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p><code>MultiResolutionImage<\/code>\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f DPI<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/251\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a\u0430 HiDPI \u0432 Windows \u0438 Linux<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/263\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 GTK 3 \u0432 Linux \u0434\u043b\u044f JavaFX, Swing \u0438 AWT<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/283\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430&nbsp;\u0442\u0435\u0433\u043e\u0432 Javadoc <code>@beaninfo<\/code>\u0438&nbsp;<code>@BeanInfo<\/code>\u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f\u043c\u0438 \u0434\u043b\u044f Swing<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/256\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 GStreamer, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043d\u043d\u043e\u0435 \u0432 JavaFX \/ Media, \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 1.4.4<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/257\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 ICU OpenType \u043d\u0430 HarfBuzz<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/258\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h3>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h3>\n<h4>\u041e\u0431\u0449\u0435\u0435<\/h4>\n<ul>\n<li>\n<p>API \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043d\u0435 \u043a\u0443\u0447\u0438 (&nbsp;<strong>\u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440<\/strong>&nbsp;)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/383\" rel=\"noopener noreferrer nofollow\"><strong>JDK 15&nbsp;<\/strong><\/a><a href=\"https:\/\/openjdk.java.net\/jeps\/370\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/350\" rel=\"noopener noreferrer nofollow\"><strong>JDK 13<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0431\u043c\u0435\u043d\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 Java.<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/310\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u0440\u0445\u0438\u0432 \u0441 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 &#171;\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438&#187;<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/341\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c, \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/254\" rel=\"noopener noreferrer nofollow\"><strong>\u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435<\/strong><\/a>&nbsp;\u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f Latin-1<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/254\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041a\u0435\u0448\u0438 \u043a\u043e\u0434\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438 \u043d\u0435\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u043e\u0431\u044a\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/197\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a \u0432 \u0430\u0440\u0445\u0438\u0432\u0430\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/250\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<\/h4>\n<ul>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;\u0434\u043b\u044f&nbsp;<code>java.lang.Math<\/code>&nbsp;<code>sin<\/code>,&nbsp;<code>cos<\/code>\u0438&nbsp;<code>log<\/code>\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 AArch64<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/315\" rel=\"noopener noreferrer nofollow\"><strong>JDK 11<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Security Manager<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/232\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>Spin-Wait Hint (&nbsp;<code>Thread#onSpinWait<\/code>) \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0446\u0438\u043a\u043b\u043e\u0432 \u0432 \u0441\u0442\u0438\u043b\u0435 \u00ab\u0437\u0430\u043d\u044f\u0442\u043e-\u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435\u00bb<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/285\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Marlin Renderer \u0432 Java 2D \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e Pisces<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/265\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c GHASH \u0438 RSA \u0437\u0430 \u0441\u0447\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 SPARC \u0438 Intel x64<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/246\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9.<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c<\/h4>\n<ul>\n<li>\n<p>Thread-Local Handshakes (\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0443\u043a\u043e\u043f\u043e\u0436\u0430\u0442\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u0430) \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/312\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u043e\u0432&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/143\" rel=\"noopener noreferrer nofollow\"><strong>\u043a\u043e\u043d\u043a\u0443\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445<\/strong><\/a>&nbsp;\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/143\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0432 \u0441\u0442\u0435\u043a\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u043b\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0435\u043a\u0446\u0438\u0439, \u0441\u043d\u0438\u0436\u0430\u044e\u0449\u0435\u0435 \u0440\u0438\u0441\u043a \u0442\u0443\u043f\u0438\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043f\u0440\u0438&nbsp;<code>java.util.concurrent<\/code>\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u0430<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/270\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440<\/h4>\n<ul>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c&nbsp;\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439&nbsp;\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f Linux (&nbsp;<strong>\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f<\/strong>&nbsp;)<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/246\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a>&nbsp;(Graal \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/243\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 JVM-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430)&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/295\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a>&nbsp;(Graal \u043a\u0430\u043a AoT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440)<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 javac: \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u0438\u043f\u043e\u0432 \u043c\u043d\u043e\u0433\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/215\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 G1 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)<\/h4>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c NUMA<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/345\" rel=\"noopener noreferrer nofollow\"><strong>JDK 14<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0430\u0443\u0437\u044b<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/344\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043f\u0430\u043c\u044f\u0442\u044c \u043a\u0443\u0447\u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/346\" rel=\"noopener noreferrer nofollow\"><strong>JDK 12<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u0434\u043b\u044f&nbsp;<a href=\"https:\/\/openjdk.java.net\/jeps\/307\" rel=\"noopener noreferrer nofollow\"><strong>\u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f<\/strong><\/a>&nbsp;\u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0432 \u0445\u0443\u0434\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/307\" rel=\"noopener noreferrer nofollow\"><strong>JDK 10<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 G1 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u043e Parallel GC<br \/><a href=\"https:\/\/openjdk.java.net\/jeps\/248\" rel=\"noopener noreferrer nofollow\"><strong>JDK 9<\/strong><\/a><\/p>\n<\/li>\n<\/ul>\n<h4>\u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438 \u043c\u0443\u0441\u043e\u0440\u0430<\/h4>\n<ul>\n<li>\n<p>Z Garbage Collector, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0438\u0439<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/li>\n<\/li>\n<\/li>\n<\/li>\n<\/ul>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-310942","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=310942"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/310942\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=310942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=310942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=310942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}