{"id":460737,"date":"2025-05-23T09:01:04","date_gmt":"2025-05-23T09:01:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=460737"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=460737","title":{"rendered":"<span>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u2014 Java 30 \u043b\u0435\u0442: \u0440\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0432\u044b\u0434\u0430\u044e\u0449\u0435\u0439\u0441\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ko\/cg\/qo\/kocgqoielhs2r11fu620f-gclmq.gif\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/webt\/ko\/cg\/qo\/kocgqoielhs2r11fu620f-gclmq.gif 780w,&#10;       https:\/\/habrastorage.org\/webt\/ko\/cg\/qo\/kocgqoielhs2r11fu620f-gclmq.gif 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f Java \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f 30. \u0422\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u2014 \u044d\u0442\u043e \u044d\u043f\u043e\u0445\u0430. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0443\u0441\u043f\u0435\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u043d\u044b\u0435 \u044f\u0437\u044b\u043a\u0438 \u2014 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u043c\u0443\u0441\u043a\u0443\u043b\u0430\u043c\u0438 \u0438 \u0442\u0438\u0445\u043e \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442\u044c. \u0410 Java \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0442\u0443\u0442. \u041e\u043d\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e &#171;\u0435\u0449\u0451 \u0436\u0438\u0432\u0430&#187; \u2014 \u043e\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0438\u0445 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u044f\u0445 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041a\u0430\u043a \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c?<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043f\u043e\u0447\u0435\u043c\u0443 Java \u043f\u0440\u043e\u0436\u0438\u043b\u0430 30 \u043b\u0435\u0442 \u0438 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0435\u0431\u044f \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e: \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0430\u0441\u044c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 JVM, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u043d\u0435\u0451 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0434\u0435\u043b\u0430\u044e\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u044b \u0438 CTO.<\/p>\n<h4>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h4>\n<p>\u041c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 Sun, Green Team, Oak \u0438 Java Father. \u041c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432 \u043d\u0430\u0448\u0438\u0445 \u0432\u043e\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f\u0445 \u043e \u0442\u0435\u0445 \u0431\u044b\u043b\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Java, \u0434\u0430\u043d\u043d\u043e\u0435 \u0414\u0436\u0435\u0439\u043c\u0441\u043e\u043c \u0410\u0439\u0440\u0438 \u0432 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u044c\u0435 <a href=\"https:\/\/james-iry.blogspot.com\/2009\/05\/brief-incomplete-and-mostly-wrong.html\" rel=\"noopener noreferrer nofollow\">&#171;A Brief, Incomplete, and Mostly Wrong History of Programming Languages&#187;<\/a>:<\/p>\n<blockquote>\n<p><em>1996 \u2014 \u0414\u0436\u0435\u0439\u043c\u0441 \u0413\u043e\u0441\u043b\u0438\u043d\u0433 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0435\u0442 Java. Java \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u0439 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c. \u041e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. Sun \u043f\u043e\u043c\u043f\u0435\u0437\u043d\u043e \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u044f\u0435\u0442 Java \u0437\u0430 \u043d\u043e\u0432\u0438\u0437\u043d\u0443.<\/em><\/p>\n<\/blockquote>\n<p>\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438 \u0432\u0435\u043a\u0430? \u0412\u0435\u0434\u044c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u0442\u0435 \u0432 \u0441\u0442\u0438\u043b\u0435 Java 8 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u2014 \u0438 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0431\u0430\u0433\u0438 \u0434\u0435\u0431\u0430\u0436\u0443\u0442\u0441\u044f, GC \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0443\u0441\u043e\u0440.<\/p>\n<p>\u041d\u043e \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Java \u2014 \u044d\u0442\u043e \u043d\u0435 \u0430\u0440\u0445\u0430\u0438\u043a\u0430. \u042d\u0442\u043e \u0436\u0438\u0432\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u043b\u0435\u0442 \u044f\u0437\u044b\u043a \u0438 \u0435\u0433\u043e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043c\u043d\u043e\u0433\u0438\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u044c. \u041c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u043d\u0435 \u0436\u0438\u0432\u0451\u043c \u0432 \u043c\u0438\u0440\u0435 Java 8, \u0433\u0434\u0435 \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044f\u0437\u044b\u043a \u0437\u0430\u0441\u0442\u044b\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u0438 \u0441 \u043d\u0435\u0439 \u2014 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0438 \u043d\u043e\u0432\u044b\u0435 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u044b \u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>Java \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0436\u0438\u043b\u0430, \u043e\u043d\u0430 \u0437\u0430\u0434\u0430\u043b\u0430 \u043f\u043b\u0430\u043d\u043a\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2014 \u044d\u0442\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u043c \u0442\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u2014 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430, \u0447\u0435\u043c \u0432 1996 \u0433\u043e\u0434\u0443 \u2014 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e, <em>\u043a\u0430\u043a<\/em> \u0438\u043c\u0435\u043d\u043d\u043e Java \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f: \u043a\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0444\u0438\u0447\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u0430\u0436\u0434\u0430\u044f \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u2014 \u044d\u0442\u043e \u043d\u0435 \u043b\u043e\u0442\u0435\u0440\u0435\u044f, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0451\u043c.<\/p>\n<h4>\u041a\u0430\u043a \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f Java: \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 \u0446\u0438\u043a\u043b, open source \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432<\/h4>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 Java \u043a\u0430\u043a \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043e\u0442 Oracle, \u043d\u043e \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u043e \u0438 \u043f\u0440\u0438 \u0443\u0447\u0430\u0441\u0442\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432.<\/p>\n<p>Java \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439. \u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0432 2006 \u0433\u043e\u0434\u0443, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 JavaOne \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Sun Microsystems \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 Java \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434. \u041a\u043e\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0431\u044b\u043b \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e open source-\u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0441\u0442\u0430\u043b\u0430 Java 7 \u2014 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043d\u0435\u0451, \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 Java \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0435\u043d\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/openjdk.org\/\" rel=\"noopener noreferrer nofollow\">OpenJDK<\/a>.<\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b OpenJDK \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 mailing \u043b\u0438\u0441\u0442\u0430\u0445: \u0435\u0441\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>core-libs-dev<\/code> \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u0442\u0430\u043a \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>valhalla-dev<\/code> \u0438\u043b\u0438 <code>amber-dev<\/code>). \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0434\u0435\u0438 \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f JEP&#8217;\u044b \u2014 Java Enhancement Proposals, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0444\u0438\u0447 \u044f\u0437\u044b\u043a\u0430.<\/p>\n<p>\u0414\u043e Java 9 \u043d\u043e\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0438 \u00ab\u043f\u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438\u00bb: \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0438\u0447\u0435\u0439 \u0440\u0435\u043b\u0438\u0437\u0430 \u043c\u043e\u0433\u043b\u0430 \u0441\u0442\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u044f\u043c\u0431\u0434 (Java 8) \u0438\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 (Java 9). \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u043e \u0440\u0435\u043b\u0438\u0437 \u043d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c \u043f\u043e \u0441\u0440\u043e\u043a\u0430\u043c, \u0437\u0430\u0442\u043e \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c.<\/p>\n<p>\u0421 \u0432\u044b\u0445\u043e\u0434\u043e\u043c Java 10 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Oracle \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0446\u0438\u043a\u043b\u0443 \u0440\u0435\u043b\u0438\u0437\u043e\u0432: \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Java \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u0432 \u043c\u0430\u0440\u0442\u0435 \u0438 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435. \u042d\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c:<\/p>\n<ul>\n<li>\n<p>\u043d\u0435 \u043e\u0442\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u043b\u0438\u0437, \u0435\u0441\u043b\u0438 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0444\u0438\u0447\u0430 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u0430 \u2014 \u0435\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u043e\u0449\u0440\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0444\u0438\u0447 \u0432 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u0442\u043a\u0430\u0445, \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043c\u0451\u0440\u0434\u0436\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Java \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 LTS-\u0440\u0435\u043b\u0438\u0437\u044b \u2014 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441 \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 (Long-Term Support), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u0430\u0442\u0447\u0438 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043b\u0435\u0442. \u041a \u0442\u0430\u043a\u0438\u043c \u0432\u0435\u0440\u0441\u0438\u044f\u043c \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\n<p>Java 8 (2014, \u0437\u0430\u0434\u043d\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043d\u0430 LTS)<\/p>\n<\/li>\n<li>\n<p>Java 11 (2018)<\/p>\n<\/li>\n<li>\n<p>Java 17 (2021)<\/p>\n<\/li>\n<li>\n<p>Java 21 (2023)<\/p>\n<\/li>\n<li>\n<p>Java 25 (2025 \u2014 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f LTS)<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u044b\u0447\u043d\u044b\u0435 (non-LTS) \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430\u043c, early-adopters \u0438 \u0430\u0432\u0442\u043e\u0440\u0430\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e\u0442 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 LTS \u043a \u0434\u0440\u0443\u0433\u043e\u0439, \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430\u043c\u0438 \u2014 \u044d\u0442\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0440\u0438\u0441\u043a\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a open source \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c: Oracle \u2014 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a JDK. \u041f\u043e\u043c\u0438\u043c\u043e Oracle JDK, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0442:<\/p>\n<ul>\n<li>\n<p>Eclipse Temurin (\u0440\u0430\u043d\u0435\u0435 Eclipse Adoptium),<\/p>\n<\/li>\n<li>\n<p>BellSoft (Liberica),<\/p>\n<\/li>\n<li>\n<p>Amazon (Corretto),<\/p>\n<\/li>\n<li>\n<p>Azul (Zulu),<\/p>\n<\/li>\n<li>\n<p>Red Hat, SAP, Microsoft,<\/p>\n<\/li>\n<li>\n<p>\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 Axiom JDK<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 JDK. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Java 11, \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043e\u0442 Oracle \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0431\u044b\u0442\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430 \u0431\u0435\u0437 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443, <a href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/jdk-faqs.html\" rel=\"noopener noreferrer nofollow\">\u043d\u043e \u0441 2021 \u0433\u043e\u0434\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 NFTC (Oracle No-Fee Terms and Conditions) Java 21 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u2014 \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/a>.<\/p>\n<p>\u0414\u043b\u044f LTS-\u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0431\u0430\u0433\u0444\u0438\u043a\u0441\u044b \u0438, \u0432 \u0440\u0435\u0434\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u044b \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Java Flight Recorder \u0432 Java 8u272).<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0431\u043e\u0440 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d: \u043d\u0438\u0447\u0435\u0433\u043e, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c. \u042d\u0442\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c LTS-\u0440\u0435\u043b\u0438\u0437\u044b \u043a\u0430\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<h4>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 Java<\/h4>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Java, \u043e\u0433\u043b\u044f\u043d\u0435\u043c\u0441\u044f \u043d\u0430\u0437\u0430\u0434 \u0438 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043c, \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u043a\u0440\u0443\u0433\u043e\u0437\u043e\u0440, \u043d\u043e \u0438 \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 Java \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u043a\u0430\u043a \u043e\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430. \u0418 \u043a\u0430\u043a \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c \u043e\u043d\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0437\u0440\u0435\u043b\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439.<\/p>\n<h4>Java \u043e\u0442 Sun Microsystems<\/h4>\n<hr\/>\n<h4>JDK 1.0 (1996)<\/h4>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java \u043e\u0442 Sun Microsystems \u0432\u044b\u0448\u043b\u0430 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c JDK 1.0.2. \u0412 \u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 JDK \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043e\u0431\u043e\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432: \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432. \u0412\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 Java \u0441\u0442\u0430\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439: \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u043c (JRE), \u0438\u0434\u0435\u043e\u043b\u043e\u0433\u0438\u0435\u0439 &#171;write once, run anywhere&#187; \u0438 \u0441\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u0435\u043c \u043a \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<hr\/>\n<h4>JDK 1.2 (1998): Playground \u0438 Java 2<\/h4>\n<p>Java 1.2 \u0441\u0442\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c, \u0447\u0442\u043e \u0441 \u043d\u0435\u0451 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u044d\u0440\u0430 Java 2. \u041f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 \u0442\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>J2SE \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f (\u0434\u043b\u044f \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432),<\/p>\n<\/li>\n<li>\n<p>J2EE \u2014 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f (\u0432\u0435\u0431, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b),<\/p>\n<\/li>\n<li>\n<p>J2ME\u2014 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0442\u0430\u043b \u0447\u0430\u0441\u0442\u044c\u044e JVM \u2014 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>Swing API \u2014 \u043d\u043e\u0432\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f GUI-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 AWT;<\/p>\n<\/li>\n<li>\n<p>Java Collections Framework \u2014 \u0441\u043f\u0438\u0441\u043a\u0438, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430, \u043a\u0430\u0440\u0442\u044b \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>J2SE 1.3 (2000): Kestrel<\/h4>\n<p>\u0412\u0435\u0440\u0441\u0438\u044f \u0441 \u043a\u043e\u0434\u043e\u0432\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c <em>Kestrel<\/em> \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 XML API \u0438 Java Sound. \u0425\u043e\u0442\u044f \u044d\u0442\u043e \u0431\u044b\u043b \u0441\u043a\u043e\u0440\u0435\u0435 &#171;\u043f\u043e\u043b\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0439&#187; \u0440\u0435\u043b\u0438\u0437, \u043e\u043d \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b \u043e\u0441\u043d\u043e\u0432\u044b \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0444\u0438\u0447.<\/p>\n<hr\/>\n<h4>J2SE 1.4 (2002): Merlin \u0438 Java Community Process<\/h4>\n<p>Java 1.4 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0447\u0435\u0440\u0435\u0437 Java Community Process (JCP). \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e \u0440\u0435\u043b\u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0438\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 IPv6;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (NIO);<\/p>\n<\/li>\n<li>\n<p>Logging API \u2014 \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>API \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0439 \u043b\u043e\u0433\u043e\u0442\u0438\u043f \u0441 \u0447\u0430\u0448\u043a\u043e\u0439 \u043a\u043e\u0444\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 Java. <\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/hu\/ee\/os\/hueeos4fjss8jop2j3nrdk6ao3o.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/hu\/ee\/os\/hueeos4fjss8jop2j3nrdk6ao3o.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/hu\/ee\/os\/hueeos4fjss8jop2j3nrdk6ao3o.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<hr\/>\n<h4>J2SE 5.0 (2004): Tiger<\/h4>\n<p>\u0425\u043e\u0442\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f 1.5, \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u0430\u043a Java 5.0 \u2014 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u0431\u044b\u043b \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 Java \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0430\u0447\u043e\u043a \u0432 \u0437\u0440\u0435\u043b\u043e\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>Generics \u2014 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Annotations \u2014 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043a\u043e\u0434\u0435;<\/p>\n<\/li>\n<li>\n<p>Autoboxing \/ Unboxing \u2014 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430\u043c\u0438 \u0438 \u043e\u0431\u0451\u0440\u0442\u043a\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>Enum \u2014 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Varargs \u2014 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>Enhanced for-each loop \u2014 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043f\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c;<\/p>\n<\/li>\n<li>\n<p>Static imports \u2014 \u0438\u043c\u043f\u043e\u0440\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 Swing, RMI, \u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 Scanner.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0444\u0430\u043a\u0442: \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java, \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043d\u0430 macOS.<\/p>\n<hr\/>\n<h4>JDK 6 (2006): Mustang \u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Sun<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Java, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 Sun Microsystems \u0434\u043e \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Oracle. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443, \u0432 \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u043e\u0448\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\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 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 JDBC 4.0;<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f GUI-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f <code>SwingWorker<\/code>, \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u0442\u0430\u0431\u043b\u0438\u0446, \u0434\u0432\u043e\u0439\u043d\u0443\u044e \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0434\u0440.).<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 2008 \u0433\u043e\u0434\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f JavaFX, \u043a\u0430\u043a \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f GUI-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 JavaFX \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043e\u0431\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u0438 \u0435\u0433\u043e \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c: Swing \u0435\u0449\u0451 \u0434\u043e\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043b, \u0430 \u0432\u043d\u0443\u0442\u0440\u0438 Sun \u043d\u0435 \u0431\u044b\u043b\u043e \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043d\u0438\u044f, \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 JavaFX \u0432\u043e\u043e\u0431\u0449\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c.<\/p>\n<h4>Java \u043e\u0442 Oracle<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u0443\u0440\u0431\u0443\u043b\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445 \u0433\u043e\u0434\u043e\u0432, \u0441\u0443\u0434\u044c\u0431\u0430 Java \u0441\u043d\u043e\u0432\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. \u0412 2009 \u0433\u043e\u0434\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 Sun Microsystems \u0437\u0430 $5.6 \u043c\u043b\u0440\u0434. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u0433\u0440\u043e\u043c\u043a\u043e\u0435 \u0438 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435: \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0414\u0436\u0435\u0439\u043c\u0441\u0430 \u0413\u043e\u0441\u043b\u0438\u043d\u0433\u0430, \u043f\u043e\u043a\u0438\u043d\u0443\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441 \u0442\u0440\u0435\u0432\u043e\u0433\u043e\u0439 \u0441\u043b\u0435\u0434\u0438\u043b\u043e \u0437\u0430 \u0442\u0435\u043c, \u0432 \u043a\u0430\u043a\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 Oracle \u043f\u043e\u0432\u0435\u0434\u0451\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<hr\/>\n<h4>Java 7 (2011)<\/h4>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 Sun \u043a Oracle \u0437\u0430\u043d\u044f\u043b \u043e\u043a\u043e\u043b\u043e \u043f\u044f\u0442\u0438 \u043b\u0435\u0442, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 2011 \u0433\u043e\u0434\u0443 \u0432\u044b\u0448\u0435\u043b Java 7 (\u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u2014 Dolphin). \u042d\u0442\u043e \u0431\u044b\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u043f\u043e\u0434 \u044d\u0433\u0438\u0434\u043e\u0439 Oracle \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u043c OpenJDK \u0438 Java Community Process (JCP).<\/p>\n<p>\u0425\u043e\u0442\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u0438, \u0432 \u0440\u0435\u043b\u0438\u0437 \u0432\u043e\u0448\u043b\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432, \u0447\u0435\u043c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u2014 \u043f\u0440\u043e\u0435\u043a\u0442\u044b Lambda \u0438 Jigsaw \u0431\u044b\u043b\u0438 \u043e\u0442\u043b\u043e\u0436\u0435\u043d\u044b. \u041d\u043e \u0432 \u0440\u0435\u043b\u0438\u0437 \u0432\u0441\u0451 \u0436\u0435 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>invokedynamic \u2014 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 (Groovy, JRuby \u0438 \u0434\u0440.) \u043d\u0430 JVM;<\/p>\n<\/li>\n<li>\n<p>\u0421\u0436\u0430\u0442\u044b\u0435 64-\u0431\u0438\u0442\u043d\u044b\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u2014 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 JVM;<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u044f\u0437\u044b\u043a\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Coin:<\/p>\n<ul>\n<li>\n<p><code>String<\/code> \u0432 <code>switch<\/code>;<\/p>\n<\/li>\n<li>\n<p><code>try-with-resources<\/code>;<\/p>\n<\/li>\n<li>\n<p>diamond-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 (<code>&lt;&gt;<\/code>) \u0434\u043b\u044f generics;<\/p>\n<\/li>\n<li>\n<p>\u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044b;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 java.nio.file;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 Timsort.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0431\u044b\u043b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d \u043a\u0443\u0440\u0441 \u043d\u0430 JavaFX: \u0432\u0435\u0440\u0441\u0438\u044f 2.0 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u043e\u0433\u043e DSL \u0438 \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c Java API \u0434\u043b\u044f UI \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435\u043c (\u0434\u0432\u0438\u0436\u043e\u043a Prism). \u041f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e JavaFX \u043d\u0430\u0447\u0430\u043b \u0432\u044b\u0442\u0435\u0441\u043d\u044f\u0442\u044c Swing \u0432 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445.<\/p>\n<p>\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0438\u043c\u0435\u043d\u043d\u043e \u0441 Java 7 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK \u0441\u0442\u0430\u043b \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 Java SE. \u041c\u043d\u043e\u0433\u0438\u0435 \u043e\u0436\u0438\u0434\u0430\u043b\u0438, \u0447\u0442\u043e Oracle \u0443\u0436\u0435\u0441\u0442\u043e\u0447\u0438\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043d\u043e, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0430 open-source \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435.<\/p>\n<hr\/>\n<h4>Java 8 (2014)<\/h4>\n<p>\u0420\u0435\u043b\u0438\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b Java. Java 8 (\u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u2014 Spider) \u0431\u044b\u043b\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0430 \u0432 \u0441\u0435\u0431\u044f \u0432\u0441\u0451 \u0442\u043e, \u0447\u0442\u043e \u043d\u0435 \u0443\u0441\u043f\u0435\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 Java 7. \u042d\u0442\u043e \u0431\u044b\u043b \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0439 \u0430\u043f\u0434\u0435\u0439\u0442:<\/p>\n<ul>\n<li>\n<p>\u041b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u2014 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Java;<\/p>\n<\/li>\n<li>\n<p>Default-\u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 Date &amp; Time API (java.time.*);<\/p>\n<\/li>\n<li>\n<p>Stream API \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 JavaScript (\u0434\u0432\u0438\u0436\u043e\u043a Nashorn);<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0441 Java 8 Oracle \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043e\u0442 \u043a\u043e\u0434\u043e\u0432\u044b\u0445 \u0438\u043c\u0451\u043d \u0438 \u0432\u0432\u0435\u043b\u0430 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: <code>MAJOR.MINOR.SECURITY<\/code>. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>1.8.0_381<\/code> \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p><code>1.8<\/code> \u2014 \u0432\u0435\u0440\u0441\u0438\u044f Java 8;<\/p>\n<\/li>\n<li>\n<p><code>_381<\/code> \u2014 \u0443\u0440\u043e\u0432\u0435\u043d\u044c security-\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p><code>b09<\/code> \u2014 \u043d\u043e\u043c\u0435\u0440 \u0441\u0431\u043e\u0440\u043a\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Java 8u203, Oracle \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e OTN, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 JDK \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435. \u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e \u0432\u044b\u0440\u043e\u0441\u043b\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 (Adoptium, Amazon Corretto \u0438 \u0434\u0440.).<\/p>\n<hr\/>\n<h4>Java 9 (2017)<\/h4>\n<p>Java 9 \u0432\u044b\u0448\u043b\u0430 \u0441 \u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u043d\u043e \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u0430 \u043a\u043b\u044e\u0447\u0435\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0443\u044e \u043d\u043e\u0432\u0430\u0446\u0438\u044e \u2014 Project Jigsaw \u0438 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Java. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u0441\u0431\u043e\u0440\u043a\u0438 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0431\u044b\u043b\u0438 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b \u0438 \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u044b. \u041c\u043e\u0434\u0443\u043b\u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.<\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043d\u0435 \u043a\u043e\u0441\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0430 \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u2014 \u0438 \u043c\u043d\u043e\u0433\u0438\u043c \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044e. \u041c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0438 \u043b\u0443\u0447\u0448\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438, \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u00ab\u0440\u0430\u0437\u0434\u0443\u0432\u0430\u043d\u0438\u0435\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>\u0414\u0440\u0443\u0433\u0438\u0435 \u0444\u0438\u0447\u0438 Java 9:<\/p>\n<ul>\n<li>\n<p>JShell \u2014 REPL-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f Java;<\/p>\n<\/li>\n<li>\n<p><code>private<\/code>-\u043c\u0435\u0442\u043e\u0434\u044b \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f <code>try-with-resources<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a (compact strings);<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 GC (G1 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e);<\/p>\n<\/li>\n<li>\n<p>\u0424\u0430\u0431\u0440\u0438\u0447\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 (<code>List.of(...)<\/code>);<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f API \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 10 (\u043c\u0430\u0440\u0442 2018)<\/h4>\n<p>\u0421 \u0432\u044b\u0445\u043e\u0434\u043e\u043c Java 10 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u043d\u043e\u0432\u0430\u044f \u044d\u0440\u0430: \u044f\u0437\u044b\u043a \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u0438 \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0441\u0442\u0430\u043b\u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b. \u042d\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u043e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0435\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u043a\u0430\u043a\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f LTS (Long-Term Support), \u0430 \u043a\u0430\u043a\u0438\u0435 \u2014 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u043c\u0438, \u0441 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c \u0441\u0440\u043e\u043a\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438.<\/p>\n<p>Java 10 (\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u043a\u0430\u043a Java 18.3) \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0438: <code>$YEAR.$MONTH<\/code>. \u042d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0440\u0435\u043b\u0438\u0437\u0430 \u2014 \u044d\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 <code>var<\/code>, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 (local-variable type inference).<\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 <code>var<\/code>, \u0440\u0435\u043b\u0438\u0437 \u0432\u043a\u043b\u044e\u0447\u0430\u043b:<\/p>\n<ul>\n<li>\n<p>\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430;<\/p>\n<\/li>\n<li>\n<p>Class-Data Sharing \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f NVRAM);<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 11 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2018)<\/h4>\n<p>Java 11 (\u0438\u043b\u0438 JDK 18.9) \u2014 \u043f\u0435\u0440\u0432\u0430\u044f LTS-\u0432\u0435\u0440\u0441\u0438\u044f \u0432 \u043d\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u043b\u043e, \u0447\u0442\u043e \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f Oracle \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u043d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043b\u0435\u0442, \u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0433\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0442\u0430\u0432\u043a\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u043d\u0435\u0451.<\/p>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 (CORBA, Java EE);<\/p>\n<\/li>\n<li>\n<p><code>var<\/code> \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u043b\u044f\u043c\u0431\u0434\u0430-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Epsilon GC \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 &#171;\u043d\u0443\u043b\u0435\u0432\u043e\u0439&#187; \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430, \u0431\u0435\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432);<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 HTTP Client API \u2014 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 <code>HttpURLConnection<\/code>;<\/p>\n<\/li>\n<li>\n<p>Deprecation \u0434\u0432\u0438\u0436\u043a\u0430 Nashorn (JavaScript \u0432 Java), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421 \u0440\u0435\u043b\u0438\u0437\u043e\u043c Java 11 Oracle \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0437\u0438\u043c\u0430\u0442\u044c \u043f\u043b\u0430\u0442\u0443 \u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 JDK 8 \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435, \u0447\u0442\u043e \u043f\u043e\u0434\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u043e \u0440\u044b\u043d\u043e\u043a \u043a \u0440\u043e\u0441\u0442\u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Java:<\/p>\n<ul>\n<li>\n<p>AdoptOpenJDK \/ Eclipse Adoptium \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0438 OpenJDK;<\/p>\n<\/li>\n<li>\n<p>Amazon Corretto, Azul Zulu, GraalVM \u0438 \u0434\u0440.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043e\u0434 Oracle JDK \u0438 OpenJDK \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u0435\u043d, \u043d\u043e OpenJDK \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e GPL \u0438 \u043c\u043e\u0436\u0435\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u043d\u0443\u0436\u0434\u044b \u0431\u0438\u0437\u043d\u0435\u0441\u0430.<\/p>\n<hr\/>\n<h4>Java 12 (\u043c\u0430\u0440\u0442 2019)<\/h4>\n<p>Java 12 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b\u0430 \u0448\u0435\u0441\u0442\u0438\u043c\u0435\u0441\u044f\u0447\u043d\u044b\u0439 \u0440\u0438\u0442\u043c. \u042d\u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u0430 LTS-\u0432\u0435\u0440\u0441\u0438\u044f, \u043d\u043e \u0432 \u043d\u0435\u0439 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432\u0430\u0436\u043d\u044b\u0435 \u0444\u0438\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>Shenandoah GC \u2014 \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0431\u043e\u0440\u043a\u0438 \u043c\u0443\u0441\u043e\u0440\u0430, \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043f\u0430\u0443\u0437\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0439 <code>switch<\/code> \u2014 \u0442\u0435\u043f\u0435\u0440\u044c <code>switch<\/code> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440:<\/p>\n<\/li>\n<li>\n<p>JVM Constants API \u2014 \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0441 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u043e\u043c;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 G1 GC \u0438 Class Data Sharing (CDS);<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 ~100 \u043c\u0438\u043a\u0440\u043e\u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 JDK.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 13 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2019)<\/h4>\n<p>Java 13 \u043f\u0440\u0438\u043d\u0435\u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0445, \u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Class Data Sharing (CDS) \u2014 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0437\u0430 \u0441\u0447\u0451\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f ZGC \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430 \u0441 \u043e\u0447\u0435\u043d\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 \u043f\u0430\u0443\u0437\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e Legacy Socket API \u2014 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 <code>switch<\/code>-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 preview \u043d\u043e\u0432\u043e\u0439 \u0444\u0438\u0447\u0438 \u2014 Text Blocks \u2014 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u043e\u0432, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0442\u0440\u043e\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, HTML \u0438\u043b\u0438 SQL):<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 14 (\u043c\u0430\u0440\u0442 2020)<\/h4>\n<p>Java 14 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432:<\/p>\n<ul>\n<li>\n<p>Pattern matching \u0434\u043b\u044f <code>instanceof<\/code>: \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u044f\u0432\u043d\u043e\u0433\u043e \u043a\u0430\u0441\u0442\u0438\u043d\u0433\u0430;<\/p>\n<\/li>\n<li>\n<p>Records (\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440) \u2014 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 API Foreign Memory Access \u2014 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432\u043d\u0435 \u043a\u0443\u0447\u0438 Java;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 NullPointerException \u2014 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u0430\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>null<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 <code>jpackage<\/code> \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>.msi<\/code>, <code>.dmg<\/code>, <code>.deb<\/code>);<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 ZGC, \u0432\u043a\u043b\u044e\u0447\u0430\u044f macOS;<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0433\u043e CMS GC.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0444\u0438\u0447 \u0431\u044b\u043b\u0438 \u0435\u0449\u0451 \u0432 preview, \u0438, \u043a\u0430\u043a \u0438 Java 13.<\/p>\n<hr\/>\n<h4>Java 15 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2020)<\/h4>\n<p>\u0412 Java 15 Oracle \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 JavaScript-\u0434\u0432\u0438\u0436\u043a\u0430 Nashorn, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0441\u0442\u0430\u0440\u0435\u043b \u0438\u0437-\u0437\u0430 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f ECMAScript.<\/p>\n<p>\u0417\u0430\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>Text Blocks \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0448\u043b\u0438 \u0438\u0437 preview;<\/p>\n<\/li>\n<li>\n<p>Sealed classes (preview) \u2014 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e <code>permits<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 EdDSA;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b <code>DatagramSocket<\/code> \u0438 <code>MulticastSocket<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Biased Locking \u2014 \u044d\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Records \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0443\u043d\u0434 preview.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 16 (\u043c\u0430\u0440\u0442 2021)<\/h4>\n<p>Java 16, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0441\u0442\u0430\u0442\u0443\u0441 LTS, \u043d\u043e \u0432 \u043d\u0435\u0439 \u0431\u044b\u043b\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u044b \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0436\u043d\u044b\u0445 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432:<\/p>\n<ul>\n<li>\n<p>Vector API \u2014 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 API \u0434\u043b\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 SIMD-\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 CPU;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 API JDK \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 JDK 9 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0448\u0451\u043b \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e);<\/p>\n<\/li>\n<li>\n<p>Foreign Linker API \u2014 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438\u0437 Java-\u043a\u043e\u0434\u0430 \u0431\u0435\u0437 JNI;<\/p>\n<\/li>\n<li>\n<p>Elastic Metaspace \u2014 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 metaspace-\u043f\u0430\u043c\u044f\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 C++14 \u0432 \u0441\u0431\u043e\u0440\u043a\u0435 JDK;<\/p>\n<\/li>\n<li>\n<p>Records \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 17 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2021)<\/h4>\n<p>Java 17 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043b\u0435\u0442: \u044d\u0442\u043e LTS-\u0440\u0435\u043b\u0438\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f Oracle \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0434\u043e 2029 \u0433\u043e\u0434\u0430. \u041c\u043d\u043e\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u043d\u043e\u0432\u0443\u044e \u0432\u043e\u043b\u043d\u0443 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0439.<\/p>\n<p>\u0427\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0433\u043e:<\/p>\n<ul>\n<li>\n<p>\u0414\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Vector API;<\/p>\n<\/li>\n<li>\n<p>\u0424\u0438\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f sealed classes \u2014 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 preview pattern matching \u0432 <code>switch<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f macOS (\u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u043a \u043d\u043e\u0432\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c);<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u044b\u0439 API \u0434\u043b\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b (PRNG), \u0432\u043a\u043b\u044e\u0447\u0430\u044f jumpable \u0438 splitable \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0438\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u0438 JDK internals;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u0439 Foreign Function &amp; Memory API \u2014 \u043c\u043e\u0449\u043d\u0430\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 JNI \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0421\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 &#171;\u0432\u043d\u0435\u0448\u043d\u0435\u0439&#187; \u043f\u0430\u043c\u044f\u0442\u044c\u044e.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 18 (\u043c\u0430\u0440\u0442 2022)<\/h4>\n<p>Java 18 \u2014 \u043d\u0435 LTS, \u043d\u043e \u0441 \u0440\u044f\u0434\u043e\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>Vector API (\u0442\u0440\u0435\u0442\u044c\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440\u0430);<\/p>\n<\/li>\n<li>\n<p>Simple Web Server \u2014 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u041d\u043e\u0432\u0430\u044f \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f <code>@snippet<\/code> \u0432 JavaDoc \u2014 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e;<\/p>\n<\/li>\n<li>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 preview pattern matching \u0432 <code>switch<\/code> \u2014 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>Deprecation \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 finalize(), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0451\u043d \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u2014 \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0433\u043e \u0438 \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 19 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2022)<\/h4>\n<p>Java 19 \u2014 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437, \u043d\u043e \u0441 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u0444\u0438\u0447\u0430\u043c\u0438 \u0432 preview:<\/p>\n<ul>\n<li>\n<p>Virtual Threads (\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440) \u2014 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c Project Loom: \u00ab\u043b\u0451\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438\u00bb, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 JVM, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0431\u0435\u0437 \u0437\u0430\u0442\u0440\u0430\u0442, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0445 \u0434\u043b\u044f <code>Thread<\/code>;<\/p>\n<\/li>\n<li>\n<p>Record Patterns (1-\u0439 preview) \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 pattern matching;<\/p>\n<\/li>\n<li>\n<p>Pattern Matching \u0434\u043b\u044f <code>switch<\/code> (3-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Structured Concurrency (\u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440) \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u0437\u0430\u0434\u0430\u0447;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0440\u0430\u0443\u043d\u0434 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f Vector API.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 20 (\u043c\u0430\u0440\u0442 2023)<\/h4>\n<p>Java 20 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430\u0434 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c\u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u043c\u0438:<\/p>\n<ul>\n<li>\n<p>Virtual Threads (2-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Structured Concurrency (2-\u0439 \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440);<\/p>\n<\/li>\n<li>\n<p>Record Patterns (2-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Scoped Values \u2014 \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0431\u0435\u0437 <code>ThreadLocal<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f Vector API (5-\u0439 \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440);<\/p>\n<\/li>\n<li>\n<p>\u0418 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 preview pattern matching \u0432 <code>switch<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0444\u0438\u0447 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u0441\u0442\u0430\u0442\u044c \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432 Java 21.<\/p>\n<hr\/>\n<h4>Java 21 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2023)<\/h4>\n<p>Java 21 \u2014 LTS-\u0440\u0435\u043b\u0438\u0437 \u0441 \u0432\u043e\u0441\u044c\u043c\u0438\u043b\u0435\u0442\u043d\u0435\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0431\u0443\u043a\u0435\u0442\u043e\u043c \u0437\u0440\u0435\u043b\u044b\u0445, \u0432\u0430\u0436\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u043b\u0430 \u043d\u043e\u0432\u043e\u0439 \u00ab\u0442\u043e\u0447\u043a\u043e\u0439 \u043e\u0442\u0441\u0447\u0451\u0442\u0430\u00bb \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<h3>\u0424\u0438\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0438\u0447\u0438:<\/h3>\n<ul>\n<li>\n<p>Virtual Threads \u2014 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b. \u041f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441\u0442\u0430\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u0438 \u043e\u043d\u0438 &#171;\u0434\u0435\u0448\u0435\u0432\u043b\u0435&#187; \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>Pattern Matching \u0434\u043b\u044f <code>switch<\/code> \u2014 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u043d\u0435 preview;<\/p>\n<\/li>\n<li>\n<p>Record Patterns \u2014 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u0437 record-\u043a\u043b\u0430\u0441\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>Generational ZGC \u2014 \u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u0435 Z Garbage Collector: \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u043a\u0443\u0447\u0443 \u043d\u0430 \u043c\u043e\u043b\u043e\u0434\u044b\u0435 \u0438 \u0441\u0442\u0430\u0440\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>Sequenced Collections \u2014 \u043d\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439 \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e (<code>SequencedCollection&lt;E&gt;<\/code>, <code>SequencedSet&lt;E&gt;<\/code>).<\/p>\n<\/li>\n<\/ul>\n<h3>Preview \u0438 \u0438\u043d\u043a\u0443\u0431\u0430\u0442\u043e\u0440\u043d\u044b\u0435 \u0444\u0438\u0447\u0438:<\/h3>\n<ul>\n<li>\n<p>Unnamed Patterns \u0438 <code>_<\/code>-\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u2014 underscore \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a placeholder, \u043a\u0430\u043a \u0432 Go);<\/p>\n<\/li>\n<li>\n<p>Unnamed Classes \u0438 main-\u043c\u0435\u0442\u043e\u0434\u044b \u2014 Java, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0434\u043e\u0431\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c: \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c <code>main<\/code>-\u043c\u0435\u0442\u043e\u0434 \u0431\u0435\u0437 <code>public class<\/code>;<\/p>\n<\/li>\n<li>\n<p>Structured Concurrency \u2014 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0441\u0442\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 22 (\u043c\u0430\u0440\u0442 2024)<\/h4>\n<p>Java 22 \u0440\u0430\u0437\u0432\u0438\u043b\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 \u043d\u043e\u0432\u044b\u0435 preview-\u0444\u0438\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>Unnamed Variables &amp; Patterns \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430 \u0434\u043b\u044f <code>pattern matching<\/code>;<\/p>\n<\/li>\n<li>\n<p>Statements before <code>super(...)<\/code> \u2014 \u0431\u043e\u043b\u0435\u0435 \u0433\u0438\u0431\u043a\u043e\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0442\u0435\u043b \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>Class-File API (1-\u0439 preview) \u2014 \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 API \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 <code>.class<\/code>-\u0444\u0430\u0439\u043b\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u043c\u043d\u043e\u0433\u043e\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0431\u0435\u0437 \u0441\u0431\u043e\u0440\u043a\u0438 \u2014 \u0443\u0434\u043e\u0431\u043d\u043e \u0434\u043b\u044f \u0434\u0435\u043c\u043e \u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Stream Gatherers (preview) \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f <code>Stream API<\/code> \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Implicitly Declared Classes and Instance Main Methods (2-\u0439 preview) \u2014 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438\u0434\u0435\u0438 \u0438\u0437 Java 21: \u00ab\u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u00bb \u0431\u0435\u0437 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438 \u0446\u0435\u0440\u0435\u043c\u043e\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Structured Concurrency (2-\u0439 preview).<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 23 (\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c 2024)<\/h4>\n<p>Java 23 \u0440\u0430\u0437\u0432\u0438\u043b\u0430 \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0440\u0430\u043d\u0435\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 preview-\u0444\u0438\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>Primitive Types \u0432 <code>instanceof<\/code>, <code>switch<\/code>, \u0438 <code>patterns<\/code> \u2014 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043e\u0432 \u0432 pattern matching;<\/p>\n<\/li>\n<li>\n<p>Markdown \u0432 Javadoc \u2014 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0432 Markdown;<\/p>\n<\/li>\n<li>\n<p>Stream Gatherers (2-\u0439 preview) \u2014 API \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043b\u0438\u0436\u0435 \u043a \u0444\u0438\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>Generational ZGC \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e;<\/p>\n<\/li>\n<li>\n<p>Module Import Declarations \u2014 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u043c\u043f\u043e\u0440\u0442 \u043c\u043e\u0434\u0443\u043b\u0435\u0439;<\/p>\n<\/li>\n<li>\n<p>Class-File API (2-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Flexible Constructor Bodies (2-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Structured Concurrency (3-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Unnamed Classes and Main Methods (3-\u0439 preview).<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>Java 24 (\u043c\u0430\u0440\u0442 2025)<\/h4>\n<ul>\n<li>\n<p>Structured Concurrency (4-\u0439 preview) \u2014 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0448\u043b\u0438\u0444\u043e\u0432\u043a\u0438 API \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u043e-\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432:<\/p>\n<ul>\n<li>\n<p>ML-KEM \u2014 \u043a\u0430\u043f\u0441\u0443\u043b\u044f\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439;<\/p>\n<\/li>\n<li>\n<p>ML-DSA \u2014 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u043f\u043e\u0434\u043f\u0438\u0441\u0438;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Scoped Values (preview) \u2014 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 <code>ThreadLocal<\/code> \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0448\u0430\u0440\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0432 pattern matching (2-\u0439 preview);<\/p>\n<\/li>\n<li>\n<p>Stream Gatherers;<\/p>\n<\/li>\n<li>\n<p>Vector API (9-\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f) \u2014 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 SIMD, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f AI;<\/p>\n<\/li>\n<li>\n<p>Class-File API (\u0444\u0438\u043d\u0430\u043b) \u2014 \u0435\u0434\u0438\u043d\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 <code>.class<\/code>-\u0444\u0430\u0439\u043b\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>Late Barrier Expansion \u0434\u043b\u044f G1 GC \u2014 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0438 JNI \u2014 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0437\u0430\u043c\u0435\u043d\u0435 \u0447\u0435\u0440\u0435\u0437 FFM API;<\/p>\n<\/li>\n<li>\n<p>Ahead-of-time Class Loading &amp; Linking \u2014 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Compact Object Headers \u2014 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 JVM;<\/p>\n<\/li>\n<li>\n<p>Linking runtime images \u0431\u0435\u0437 JMOD \u2014 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 JDK \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0442\u043e\u0433\u043e \u0441 8 \u043f\u043e 24 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Java \u043f\u0440\u043e\u0448\u043b\u0430 \u043f\u0443\u0442\u044c \u043e\u0442 \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0434\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b, preview-\u0444\u0438\u0447\u0438, \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b (Loom, Panama, Valhalla) \u2014 \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 Java \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043c\u0435\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f, \u043d\u0435 \u043b\u043e\u043c\u0430\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<h3>\u041a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u044f\u0437\u044b\u043a Java<\/h3>\n<p>\u041e\u0431\u0441\u0443\u0436\u0434\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044e Java, \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e <em>\u0447\u0442\u043e<\/em> \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c, \u043d\u043e \u0438 <em>\u043f\u043e\u0447\u0435\u043c\u0443<\/em> \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a. \u0417\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u2014 \u0431\u0443\u0434\u044c \u0442\u043e <code>switch expression<\/code> \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u2014 \u0441\u0442\u043e\u044f\u0442 \u0433\u043e\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u0442\u043e\u043d\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u044b \u0438 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0451\u0442 \u0440\u0438\u0441\u043a\u043e\u0432.<\/p>\n<p>Java \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0438\u0447\u0438\u00bb. \u041e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0448\u043a\u0430\u043b\u0435 \u0437\u0430\u0442\u0440\u0430\u0442 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0439 \u2014 \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0434\u043e \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0439 JVM. \u0418 \u0447\u0435\u043c \u0433\u043b\u0443\u0431\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435, \u0442\u0435\u043c \u0432\u044b\u0448\u0435 \u0446\u0435\u043d\u0430 \u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0412\u043e\u0442 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u0433\u043b\u0443\u0431\u0438\u043d\u0435 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/pu\/yz\/nt\/puyznt_edrrvcxbeqgfrxcq8lg0.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/pu\/yz\/nt\/puyznt_edrrvcxbeqgfrxcq8lg0.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/pu\/yz\/nt\/puyznt_edrrvcxbeqgfrxcq8lg0.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043b\u0435\u0433\u0447\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443. \u0410 \u0432\u043e\u0442 \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 JVM \u2014 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0444\u043e\u0440\u043c\u0430\u0442 \u0431\u0430\u0439\u0442\u043a\u043e\u0434\u0430, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u0438, \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>\u0414\u0430\u0436\u0435 &#171;\u043f\u0440\u043e\u0441\u0442\u043e\u0435&#187; \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u043e\u0451\u0432:<\/p>\n<ul>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 (JLS);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 <code>javac<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u043e\u0432, \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 JVM, <code>classfile<\/code>, <code>javap<\/code>, <code>jlink<\/code>, <code>javadoc<\/code> \u0438 \u0442. \u0434.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u0438\u043f\u043e\u0432 \u2014 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0437\u043e\u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u043e\u043d\u0430 \u0432 Java \u043c\u043e\u0449\u043d\u0430\u044f, \u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0441 generics, overloading, \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f\u043c\u0438 \u0438 \u043b\u044f\u043c\u0431\u0434\u0430\u043c\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>pattern matching<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e, \u0447\u0435\u0440\u0435\u0437 preview.<\/p>\n<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 Java \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c JSR (Java Specification Request) \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 Java Community Process (JCP). \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, API \u0432 <code>java.*<\/code>), \u043d\u043e \u043e\u043d \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u0435\u043d.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f JEP (JDK Enhancement Proposal) \u2014 \u0431\u043e\u043b\u0435\u0435 \u043b\u0451\u0433\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0441\u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0444\u0438\u0447\u0430\u0445. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0430\u043c JEP \u0447\u0430\u0441\u0442\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, JEP 425 (Virtual Threads) \u0438\u043b\u0438 JEP 440 (Record Patterns). \u041f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a JEP \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0437\u0434\u0435\u0441\u044c: openjdk.org\/jeps\/0<\/p>\n<p>\u0421 \u0432\u044b\u0445\u043e\u0434\u043e\u043c Java 12 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0434\u0432\u0443\u0445\u0441\u0442\u0443\u043f\u0435\u043d\u0447\u0430\u0442\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c &#171;\u0442\u0435\u0441\u0442-\u0434\u0440\u0430\u0439\u0432\u0430&#187; \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>\u0418\u043d\u043a\u0443\u0431\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0438\u0447\u0438 &#8212; \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u043e\u0432\u044b\u0435 API, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>jdk.incubator.vector<\/code>. \u041e\u043d\u0438 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u043c\u044b \u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u0436\u0435 \u0432 \u043f\u0440\u043e\u0434\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, HTTP\/2 API, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b <code>jdk.incubator.http<\/code>, \u043f\u043e\u0437\u0436\u0435 \u0441\u0442\u0430\u043b <code>java.net.http<\/code>.<\/p>\n<p>Preview-\u0444\u0438\u0447\u0438 &#8212; \u044d\u0442\u043e \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f JVM, \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0444\u043b\u0430\u0433\u0438:<\/p>\n<pre><code>javac --enable-preview --release 21 Hello.java  java --enable-preview Hello <\/code><\/pre>\n<p>\u041e\u043d\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430, \u0442\u0430\u043a \u043a\u0430\u043a:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c;<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b <code>.class<\/code>-\u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>Preview \u2014 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0443\u0441\u043f\u0435\u043b\u0438 \u043f\u0440\u043e\u0439\u0442\u0438 &#171;\u043e\u0431\u043a\u0430\u0442\u043a\u0443&#187; \u0434\u043e \u0444\u0438\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0417\u0430\u0447\u0435\u043c \u0432\u0441\u044f \u044d\u0442\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Java \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u0437\u044b\u043a. \u042d\u0442\u043e \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u043a\u043e\u0434\u0430. \u0418 \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u043d\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c, \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c, \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e \u0432\u043d\u0435\u0434\u0440\u044f\u0435\u043c\u044b\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Java \u0438 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0445 \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c.<\/p>\n<h4>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 JVM<\/h4>\n<p>\u0427\u0442\u043e \u0436\u0435, \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a Java \u0448\u0430\u0433 \u0437\u0430 \u0448\u0430\u0433\u043e\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c, \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438 \u043c\u043e\u0449\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c. \u041d\u043e \u0437\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0435\u0439 \u044f\u0437\u044b\u043a\u0430 \u0441\u0442\u043e\u0438\u0442 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0441\u0430\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b Java (JVM) \u2014 \u0442\u043e\u0439 \u0441\u0430\u043c\u043e\u0439 \u00ab\u043d\u0435\u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b\u00bb, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 Java \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0432 \u044d\u043f\u043e\u0445\u0443 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 AOT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0438 hyperscaler-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442 JVM. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u044b \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0438 \u043a\u0443\u0434\u0430 \u043e\u043d\u0430 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432\u0440\u043e\u0434\u0435 Leyden, \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u0438 \u043c\u0430\u043b\u044b\u0439 memory footprint.<\/p>\n<p>\u0420\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0434 \u043d\u0430 JVM, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 HotSpot \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u043d\u0435 \u043c\u0430\u0433\u0438\u044f, \u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e.<\/p>\n<p>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c Java \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0438\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0432 \u043c\u0438\u0440\u0435. \u041f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u043e\u0446\u0435\u043d\u043a\u0430\u043c, \u0441 \u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0431\u043e\u043b\u0435\u0435 10 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u041d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0438\u0445 \u043a\u043e\u0434. \u0418 \u044d\u0442\u043e \u043d\u0435\u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 JVM \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u0430 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u2014 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 &#171;\u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435&#187; \u0437\u0430\u0431\u043e\u0442\u044b \u0431\u0435\u0440\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f \u0441\u0430\u043c\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430.<\/p>\n<p>\u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434, \u0434\u0435\u0431\u0430\u0436\u0438\u0442\u0435 latency \u043d\u0430 \u043f\u0440\u043e\u0434\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, <em>\u043f\u043e\u0447\u0435\u043c\u0443 Java \u0432\u0435\u0434\u0435\u0442 \u0441\u0435\u0431\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a<\/em>, \u2014 \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445 \u0440\u0430\u0431\u043e\u0442\u044b JVM.<\/p>\n<h3>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0438 classloaders<\/h3>\n<p>JVM \u2014 \u044d\u0442\u043e \u0441\u0442\u0435\u043a\u043e\u0432\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u043c\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430. \u0412\u043c\u0435\u0441\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u043a\u0430\u043a \u0443 &#171;\u0436\u0435\u043b\u0435\u0437\u0430&#187;, \u043e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0442\u0435\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439: \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u0432\u0435\u0440\u0448\u0438\u043d\u043e\u0439 \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430. \u041c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0451 \u043a\u0430\u043a \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 <code>switch-case<\/code> \u0432\u043d\u0443\u0442\u0440\u0438 <code>while<\/code>, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 (opcode) \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u0434\u043d\u043e\u0439.<\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 <code>java HelloWorld<\/code>, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ol>\n<li>\n<p>\u041e\u0421 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a <code>java<\/code>;<\/p>\n<\/li>\n<li>\n<p>JVM \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0441\u0435\u0431\u044f \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0418\u0449\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 <code>main()<\/code> \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u043d\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043b\u0430\u0441\u0441 <code>HelloWorld<\/code> \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u2014 \u044d\u0442\u0438\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u043e\u0432 \u043a\u043b\u0430\u0441\u0441\u043e\u0432:<\/p>\n<ul>\n<li>\n<p>Bootstrap class loader (\u043e\u043d \u0436\u0435 primordial) \u2014 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 <code>java.base<\/code> \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 (<code>java.lang.Object<\/code>, <code>ClassLoader<\/code>, \u0438 \u0442.\u0434.);<\/p>\n<\/li>\n<li>\n<p>Platform class loader \u2014 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 &#171;\u043e\u0441\u043d\u043e\u0432\u0443&#187; JDK, \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0441\u0442\u0430\u0440\u044b\u0439 <code>ExtClassLoader<\/code>;<\/p>\n<\/li>\n<li>\n<p>Application class loader \u2014 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0432\u0430\u0448 \u043a\u043e\u0434 \u0438\u0437 classpath.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>\u0421 Java 9 JVM \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u043e\u0439. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0432\u043d\u043e, JVM \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (DAG) \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435.<\/p>\n<h3>\u041a\u0430\u043a JVM \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0431\u0430\u0439\u0442\u043a\u043e\u0434<\/h3>\n<p>JVM \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c Java-\u043a\u043e\u0434\u043e\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e. \u041e\u043d \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f <code>javac<\/code> \u0432 <code>.class<\/code>-\u0444\u0430\u0439\u043b\u044b \u2014 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0431\u0430\u0439\u0442\u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 (\u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430);<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c JVM;<\/p>\n<\/li>\n<li>\n<p>\u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u043c \u0441\u043b\u043e\u0435\u043c \u043c\u0435\u0436\u0434\u0443 \u044f\u0437\u044b\u043a\u043e\u043c \u0438 \u043c\u0430\u0448\u0438\u043d\u043e\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 <code>.class<\/code>-\u0444\u0430\u0439\u043b \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 <code>0xCAFEBABE<\/code> \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442:<\/p>\n<ul>\n<li>\n<p>\u0412\u0435\u0440\u0441\u0438\u044e \u0444\u043e\u0440\u043c\u0430\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>Constant pool;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435: \u0444\u043b\u0430\u0433\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u0441\u0443\u043f\u0435\u0440\u043a\u043b\u0430\u0441\u0441, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b;<\/p>\n<\/li>\n<li>\n<p>\u041c\u0435\u0442\u043e\u0434\u044b, \u043f\u043e\u043b\u044f, \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 <code>Code<\/code>).<\/p>\n<\/li>\n<\/ul>\n<p>JVM \u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0443\u0435\u0442 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u0441\u0441\u044b\u043b\u043e\u043a.<\/p>\n<h3>HotSpot \u0438 JIT: \u043c\u0430\u0433\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>\u0421 \u0430\u043f\u0440\u0435\u043b\u044f 1999 \u0433\u043e\u0434\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JVM \u0441\u0442\u0430\u043b HotSpot \u2014 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430, \u0443\u043c\u0435\u044e\u0449\u0430\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Just-in-Time (JIT) compilation.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/fu\/uv\/-_\/fuuv-_7b6ypkrtziqfe9w34s0w4.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/fu\/uv\/-_\/fuuv-_7b6ypkrtziqfe9w34s0w4.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/fu\/uv\/-_\/fuuv-_7b6ypkrtziqfe9w34s0w4.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0430\u0439\u0442\u043a\u043e\u0434 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>HotSpot \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0438 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 &#171;\u0433\u043e\u0440\u044f\u0447\u0438\u0435 \u0443\u0447\u0430\u0441\u0442\u043a\u0438&#187; (\u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u0446\u0438\u043a\u043b\u044b);<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043d\u0435\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0447\u0430\u0441\u0442\u043e \u2014 \u043e\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u0434;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 JIT \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>HotSpot \u0443\u043c\u0435\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0418\u043d\u043b\u0430\u0439\u043d\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0423\u0434\u0430\u043b\u044f\u0442\u044c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 CPU, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d (\u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 intrinsics).<\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u0432\u0441\u0451 \u044d\u0442\u043e \u2014 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430: \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0438\u0442\u0435 &#171;\u043e\u0431\u044b\u0447\u043d\u044b\u0439 Java-\u043a\u043e\u0434&#187;.<\/p>\n<p>HotSpot \u2014 \u044d\u0442\u043e \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441 \u043c\u0435\u0436\u0434\u0443 &#171;\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438&#187; \u0438 &#171;\u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e&#187;:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u043b\u043e\u0436\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u2014 \u043a\u0430\u043a \u0432 C++: \u0432\u0441\u0451 \u043f\u043e\u0434 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u043c, \u043d\u043e \u0432\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0441\u043e\u0432\u0435\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0412 Java \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u0443\u0435\u0442\u0435\u0441\u044c \u043d\u0430 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0435, \u0430 \u043d\u0435 \u043d\u0430 \u043a\u0435\u0448\u0430\u0445 \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 \u0432 \u043a\u043e\u0434\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u044e\u0431\u044b\u0435 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u044b \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f JVM.<\/p>\n<h4>\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/h4>\n<p>\u0421 \u0440\u043e\u0441\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0431\u044b\u0441\u0442\u0440\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438\u043b\u0438 serverless-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445, \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u043a\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 (time to steady state) \u0441\u0442\u0430\u043b\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u043c. \u0414\u0430\u043b\u0435\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a JVM \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0430, \u0447\u0442\u043e\u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438.<\/p>\n<p>\u0422\u0438\u043f\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Java \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0437:<\/p>\n<ol>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u2013 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f JVM, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432, \u0437\u0430\u043f\u0443\u0441\u043a <code>main()<\/code>.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u043e\u0433\u0440\u0435\u0432 (Ramp-up) \u2013 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0430 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u2013 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u2013 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 JVM.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u0438 \u0444\u0430\u0437\u044b \u0432\u0430\u0436\u043d\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043a\u0440\u0430\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0445 \u0438\u043b\u0438 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0447\u0435\u043c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043f\u0438\u043a\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435. \u0417\u0434\u0435\u0441\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u043d\u0430 \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 &#171;\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c&#187; \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u2013 \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438, \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 \u0432 \u043a\u0443\u0447\u0435 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438.<\/p>\n<h3>Class Data Sharing (CDS)<\/h3>\n<p>CDS \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0442\u0430\u0440\u0435\u0439\u0448\u0438\u0445 \u0438 \u0441\u0430\u043c\u044b\u0445 \u043d\u0435\u0434\u043e\u043e\u0446\u0435\u043d\u0451\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 JVM. \u0421\u0443\u0442\u044c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 JVM \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432.<\/p>\n<\/li>\n<li>\n<p>\u042d\u0442\u043e\u0442 \u0430\u0440\u0445\u0438\u0432 \u0437\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0445, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f JVM \u0441\u0440\u0430\u0437\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438, \u043c\u0438\u043d\u0443\u044f \u0444\u0430\u0437\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0448\u0430\u0440\u0438\u043d\u0433 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 JVM-\u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u043c\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435, \u0447\u0442\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 serverless-\u0441\u0440\u0435\u0434\u0435 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445.<\/p>\n<h3>Ahead-of-Time Compilation (AOT)<\/h3>\n<p>\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u0430\u044f \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0432 JDK 9, AOT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u043a\u043e\u0434 Java \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 JVM. \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0430\u0442\u043a\u043e\u0436\u0438\u0432\u0443\u0449\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 JIT \u043d\u0435 \u0443\u0441\u043f\u0435\u0432\u0430\u0435\u0442 &#171;\u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c\u0441\u044f&#187;.<\/p>\n<p>\u041d\u043e \u0443 AOT \u0432 HotSpot \u0431\u044b\u043b\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 PIC (position-independent code).<\/p>\n<\/li>\n<li>\n<p>\u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Graal-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 JIT.<\/p>\n<\/li>\n<\/ul>\n<h3>Project Leyden<\/h3>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0441 AOT \u0431\u044b\u043b \u0437\u0430\u043f\u0443\u0449\u0435\u043d Project Leyden (\u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 JDK 17). \u0415\u0433\u043e \u0446\u0435\u043b\u044c \u2014 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u043a\u043b\u044e\u0447\u0430\u044f:<\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e (precompilation) \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e &#171;\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430&#187;.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u044b, \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 JIT-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 &#171;\u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u043e\u0432&#187; \u2014 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u0434\u0432\u0438\u0433\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u0438\u0437 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0437\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a Java-\u043a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 &#171;\u043f\u0435\u0440\u0435\u0435\u0445\u0430\u0442\u044c&#187; \u0432 JIT-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0439 \u0437\u0430 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<h3>GraalVM \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b<\/h3>\n<p>GraalVM \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0442\u043e\u0439 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 AOT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0441 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 (<code>native-image<\/code>).<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 JVM-\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0438 JIT \u0438\u0437 \u043f\u0443\u0442\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u0430 \u043d\u0430 \u043f\u0438\u043a\u043e\u0432\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u2014 Graal-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u043f\u0435\u043a\u0443\u043b\u044f\u0442\u0438\u0432\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0434\u0430\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c &#171;\u0441\u0430\u043c\u043e\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044e&#187; \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435.<\/p>\n<h3>CRIU \u0438 Project CRaC<\/h3>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u2014 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f JVM-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u0435\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:<\/p>\n<ul>\n<li>\n<p>CRIU (Checkpoint\/Restore in Userspace) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 &#171;\u0437\u0430\u043c\u043e\u0440\u043e\u0437\u0438\u0442\u044c&#187; \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Java, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0444\u0430\u0439\u043b \u0438 \u043f\u043e\u0437\u0436\u0435 &#171;\u043e\u0436\u0438\u0432\u0438\u0442\u044c&#187;.<\/p>\n<\/li>\n<li>\n<p>Project CRaC (Coordinated Restore at Checkpoint) \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u0442 \u044d\u0442\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\/\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u0432 JVM.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c Java \u2014 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438. \u042d\u0442\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0430\u043a\u0438\u0445 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u043a\u0430\u043a CDS, AOT, CRaC, GraalVM \u0438 Project Leyden, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<p>Java \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e &#171;\u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0441\u043b\u0435 C++&#187;. \u0412 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u044d\u043f\u043e\u0445\u0435 \u043e\u043d\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u043a \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h4>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h4>\n<p>\u0418\u0441\u0442\u043e\u0440\u0438\u044f Java \u2014 \u044d\u0442\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438. \u041e\u0442 \u043f\u0435\u0440\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 JDK, \u0433\u0434\u0435 \u0432\u0441\u0451 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u043e\u0441\u044c, \u0434\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439, \u0432\u0440\u043e\u0434\u0435 Project Leyden, GraalVM \u0438 CRaC, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Java \u043f\u0440\u043e\u0448\u043b\u0430 \u043f\u0443\u0442\u044c \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0434\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439, \u0433\u0438\u0431\u043a\u043e\u0439 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0440\u0435\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u041c\u044b \u0443\u0432\u0438\u0434\u0435\u043b\u0438, \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0441\u044f \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e, \u043a\u0430\u043a \u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0435\u0433\u043e \u0432\u0435\u0440\u0441\u0438\u0438, \u043a\u0430\u043a JVM \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u0430\u0441\u044c \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044e. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u044d\u0442\u0438\u043c \u0440\u043e\u0441\u043b\u043e \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e, \u0432\u043d\u043e\u0441\u044f\u0449\u0435\u0435 \u0441\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0447\u0435\u0440\u0435\u0437 JEP \u0438 JSR, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0435 OpenJDK, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b.<\/p>\n<p>\u041d\u043e \u0447\u0442\u043e \u0432\u0430\u0436\u043d\u0435\u0435 \u2014 Java \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0447\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u043b\u0430\u0432\u0440\u0430\u0445, \u043e\u043d\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432\u043f\u0435\u0440\u0451\u0434, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u043d\u0435\u0434\u0440\u044f\u044f \u043f\u0435\u0440\u0435\u0434\u043e\u0432\u044b\u0435 \u0438\u0434\u0435\u0438, \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0451\u043d\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u043c\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430\u043c\u0438.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0438\u0437\u0443\u0447\u0430\u044f Java, \u0432\u044b \u0438\u0437\u0443\u0447\u0430\u0435\u0442\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u044f\u0437\u044b\u043a, \u0430 \u0436\u0438\u0432\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0443\u044e \u0434\u0443\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0441\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0438 \u043c\u043e\u0449\u043d\u043e\u0439. \u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0430\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u043c\u043d\u0435\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u0438.<\/p>\n<hr\/>\n<p>\u0427\u0442\u043e\u0431\u044b \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0432\u0430\u0439\u0431\u043e\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0438 Java \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043c\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434 &#171;\u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f Java&#187;, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u044f \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b \u043d\u0430 HackConf:<br \/> <a href=\"https:\/\/www.youtube.com\/watch?v=OB939TZUYbg\" rel=\"noopener noreferrer nofollow\">\u0421\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 YouTube<\/a><\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/683031f94c7c3ebada52467e\" data-style=\"\" id=\"683031f94c7c3ebada52467e\" width=\"\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/912042\/\"> https:\/\/habr.com\/ru\/articles\/912042\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"\"><\/figure>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f Java \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f 30. \u0422\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u2014 \u044d\u0442\u043e \u044d\u043f\u043e\u0445\u0430. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0443\u0441\u043f\u0435\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0434\u043d\u044b\u0435 \u044f\u0437\u044b\u043a\u0438 \u2014 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u043c\u0443\u0441\u043a\u0443\u043b\u0430\u043c\u0438 \u0438 \u0442\u0438\u0445\u043e \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442\u044c. \u0410 Java \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0442\u0443\u0442. \u041e\u043d\u0430 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e &#171;\u0435\u0449\u0451 \u0436\u0438\u0432\u0430&#187; \u2014 \u043e\u043d\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0440\u0435\u0439\u0442\u0438\u043d\u0433\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0438\u0445 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u044f\u0445 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041a\u0430\u043a \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c?<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043f\u043e\u0447\u0435\u043c\u0443 Java \u043f\u0440\u043e\u0436\u0438\u043b\u0430 30 \u043b\u0435\u0442 \u0438 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0447\u0443\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0435\u0431\u044f \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e: \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0430\u0441\u044c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 JVM, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0430 \u043d\u0435\u0451 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0434\u0435\u043b\u0430\u044e\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u044b \u0438 CTO.<\/p>\n<h4>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h4>\n<p>\u041c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441 Sun, Green Team, Oak \u0438 Java Father. \u041c\u043e\u0436\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0432 \u043d\u0430\u0448\u0438\u0445 \u0432\u043e\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f\u0445 \u043e \u0442\u0435\u0445 \u0431\u044b\u043b\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Java, \u0434\u0430\u043d\u043d\u043e\u0435 \u0414\u0436\u0435\u0439\u043c\u0441\u043e\u043c \u0410\u0439\u0440\u0438 \u0432 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u044c\u0435 <a href=\"https:\/\/james-iry.blogspot.com\/2009\/05\/brief-incomplete-and-mostly-wrong.html\" rel=\"noopener noreferrer nofollow\">&#171;A Brief, Incomplete, and Mostly Wrong History of Programming Languages&#187;<\/a>:<\/p>\n<blockquote>\n<p><em>1996 \u2014 \u0414\u0436\u0435\u0439\u043c\u0441 \u0413\u043e\u0441\u043b\u0438\u043d\u0433 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0435\u0442 Java. Java \u2014 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u0439 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u043c. \u041e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. Sun \u043f\u043e\u043c\u043f\u0435\u0437\u043d\u043e \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u044f\u0435\u0442 Java \u0437\u0430 \u043d\u043e\u0432\u0438\u0437\u043d\u0443.<\/em><\/p>\n<\/blockquote>\n<p>\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u0438 \u0432\u0435\u043a\u0430? \u0412\u0435\u0434\u044c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u0442\u0435 \u0432 \u0441\u0442\u0438\u043b\u0435 Java 8 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u2014 \u0438 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0431\u0430\u0433\u0438 \u0434\u0435\u0431\u0430\u0436\u0443\u0442\u0441\u044f, GC \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0443\u0441\u043e\u0440.<\/p>\n<p>\u041d\u043e \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e Java \u2014 \u044d\u0442\u043e \u043d\u0435 \u0430\u0440\u0445\u0430\u0438\u043a\u0430. \u042d\u0442\u043e \u0436\u0438\u0432\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u043b\u0435\u0442 \u044f\u0437\u044b\u043a \u0438 \u0435\u0433\u043e \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043c\u043d\u043e\u0433\u0438\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u044c. \u041c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u043d\u0435 \u0436\u0438\u0432\u0451\u043c \u0432 \u043c\u0438\u0440\u0435 Java 8, \u0433\u0434\u0435 \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044f\u0437\u044b\u043a \u0437\u0430\u0441\u0442\u044b\u043b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f, \u0438 \u0441 \u043d\u0435\u0439 \u2014 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0438 \u043d\u043e\u0432\u044b\u0435 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u044b \u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>Java \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0436\u0438\u043b\u0430, \u043e\u043d\u0430 \u0437\u0430\u0434\u0430\u043b\u0430 \u043f\u043b\u0430\u043d\u043a\u0443 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u044b\u043f\u0443\u0441\u043a\u0435 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2014 \u044d\u0442\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u043c \u0442\u0440\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f \u2014 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430, \u0447\u0435\u043c \u0432 1996 \u0433\u043e\u0434\u0443 \u2014 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e, <em>\u043a\u0430\u043a<\/em> \u0438\u043c\u0435\u043d\u043d\u043e Java \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f: \u043a\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0444\u0438\u0447\u0438 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u0430\u0436\u0434\u0430\u044f \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u2014 \u044d\u0442\u043e \u043d\u0435 \u043b\u043e\u0442\u0435\u0440\u0435\u044f, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u0438 \u043d\u0430\u0447\u043d\u0451\u043c.<\/p>\n<h4>\u041a\u0430\u043a \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f Java: \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 \u0446\u0438\u043a\u043b, open source \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432<\/h4>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 Java \u043a\u0430\u043a \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043e\u0442 Oracle, \u043d\u043e \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u043e \u0438 \u043f\u0440\u0438 \u0443\u0447\u0430\u0441\u0442\u0438\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439 \u0438 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432.<\/p>\n<p>Java \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439. \u042d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0432 2006 \u0433\u043e\u0434\u0443, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 JavaOne \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Sun Microsystems \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 Java \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434. \u041a\u043e\u0434 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0431\u044b\u043b \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 GPLv2 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u041f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e open source-\u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u0441\u0442\u0430\u043b\u0430 Java 7 \u2014 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043d\u0435\u0451, \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 Java \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0435\u043d\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 <a href=\"https:\/\/openjdk.org\/\" rel=\"noopener noreferrer nofollow\">OpenJDK<\/a>.<\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b OpenJDK \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 mailing \u043b\u0438\u0441\u0442\u0430\u0445: \u0435\u0441\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>core-libs-dev<\/code> \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a), \u0442\u0430\u043a \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>valhalla-dev<\/code> \u0438\u043b\u0438 <code>amber-dev<\/code>). \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043c \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0434\u0435\u0438 \u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f JEP&#8217;\u044b \u2014 Java Enhancement Proposals, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0444\u0438\u0447 \u044f\u0437\u044b\u043a\u0430.<\/p>\n<p>\u0414\u043e Java 9 \u043d\u043e\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0432\u044b\u0445\u043e\u0434\u0438\u043b\u0438 \u00ab\u043f\u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438\u00bb: \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0438\u0447\u0435\u0439 \u0440\u0435\u043b\u0438\u0437\u0430 \u043c\u043e\u0433\u043b\u0430 \u0441\u0442\u0430\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043b\u044f\u043c\u0431\u0434 (Java 8) \u0438\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 (Java 9). \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u043e \u0440\u0435\u043b\u0438\u0437 \u043d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c \u043f\u043e \u0441\u0440\u043e\u043a\u0430\u043c, \u0437\u0430\u0442\u043e \u0444\u043e\u043a\u0443\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c.<\/p>\n<p>\u0421 \u0432\u044b\u0445\u043e\u0434\u043e\u043c Java 10 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Oracle \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043d\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0446\u0438\u043a\u043b\u0443 \u0440\u0435\u043b\u0438\u0437\u043e\u0432: \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Java \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u043a\u0430\u0436\u0434\u044b\u0435 \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u0432 \u043c\u0430\u0440\u0442\u0435 \u0438 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0435. \u042d\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c:<\/p>\n<ul>\n<li>\n<p>\u043d\u0435 \u043e\u0442\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u043b\u0438\u0437, \u0435\u0441\u043b\u0438 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0444\u0438\u0447\u0430 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u0430 \u2014 \u0435\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044f\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0435\u043b\u0438\u0437;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0432\u0435\u0442\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u043a \u0432\u044b\u043f\u0443\u0441\u043a\u0443;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u043e\u0449\u0440\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0444\u0438\u0447 \u0432 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432\u0435\u0442\u043a\u0430\u0445, \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043c\u0451\u0440\u0434\u0436\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Java \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 LTS-\u0440\u0435\u043b\u0438\u0437\u044b \u2014 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441 \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 (Long-Term Support), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043f\u0430\u0442\u0447\u0438 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043b\u0435\u0442. \u041a \u0442\u0430\u043a\u0438\u043c \u0432\u0435\u0440\u0441\u0438\u044f\u043c \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f:<\/p>\n<ul>\n<li>\n<p>Java 8 (2014, \u0437\u0430\u0434\u043d\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043d\u0430 LTS)<\/p>\n<\/li>\n<li>\n<p>Java 11 (2018)<\/p>\n<\/li>\n<li>\n<p>Java 17 (2021)<\/p>\n<\/li>\n<li>\n<p>Java 21 (2023)<\/p>\n<\/li>\n<li>\n<p>Java 25 (2025 \u2014 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f LTS)<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0431\u044b\u0447\u043d\u044b\u0435 (non-LTS) \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430\u043c, early-adopters \u0438 \u0430\u0432\u0442\u043e\u0440\u0430\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e\u0442 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0439 LTS \u043a \u0434\u0440\u0443\u0433\u043e\u0439, \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430\u043c\u0438 \u2014 \u044d\u0442\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0440\u0438\u0441\u043a\u0438 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a open source \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c: Oracle \u2014 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a JDK. \u041f\u043e\u043c\u0438\u043c\u043e Oracle JDK, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0442:<\/p>\n<ul>\n<li>\n<p>Eclipse Temurin (\u0440\u0430\u043d\u0435\u0435 Eclipse Adoptium),<\/p>\n<\/li>\n<li>\n<p>BellSoft (Liberica),<\/p>\n<\/li>\n<li>\n<p>Amazon (Corretto),<\/p>\n<\/li>\n<li>\n<p>Azul (Zulu),<\/p>\n<\/li>\n<li>\n<p>Red Hat, SAP, Microsoft,<\/p>\n<\/li>\n<li>\n<p>\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 Axiom JDK<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 JDK. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Java 11, \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043e\u0442 Oracle \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0438 \u0431\u044b\u0442\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430 \u0431\u0435\u0437 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443, <a href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/jdk-faqs.html\" rel=\"noopener noreferrer nofollow\">\u043d\u043e \u0441 2021 \u0433\u043e\u0434\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 NFTC (Oracle No-Fee Terms and Conditions) Java 21 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0438\u0438 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u2014 \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/a>.<\/p>\n<p>\u0414\u043b\u044f LTS-\u0440\u0435\u043b\u0438\u0437\u043e\u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0431\u0430\u0433\u0444\u0438\u043a\u0441\u044b \u0438, \u0432 \u0440\u0435\u0434\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u0431\u044d\u043a\u043f\u043e\u0440\u0442\u044b \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Java Flight Recorder \u0432 Java 8u272).<\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0431\u043e\u0440 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d: \u043d\u0438\u0447\u0435\u0433\u043e, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c. \u042d\u0442\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c LTS-\u0440\u0435\u043b\u0438\u0437\u044b \u043a\u0430\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<h4>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 Java<\/h4>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Java, \u043e\u0433\u043b\u044f\u043d\u0435\u043c\u0441\u044f \u043d\u0430\u0437\u0430\u0434 \u0438 \u043f\u0440\u043e\u0441\u043b\u0435\u0434\u0438\u043c, \u043a\u0430\u043a \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u043b\u0441\u044f \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u043a\u0440\u0443\u0433\u043e\u0437\u043e\u0440, \u043d\u043e \u0438 \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 Java \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, \u043a\u0430\u043a \u043e\u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430. \u0418 \u043a\u0430\u043a \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c \u043e\u043d\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0437\u0440\u0435\u043b\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439.<\/p>\n<h4>Java \u043e\u0442 Sun Microsystems<\/h4>\n<hr\/>\n<h4>JDK 1.0 (1996)<\/h4>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java \u043e\u0442 Sun Microsystems \u0432\u044b\u0448\u043b\u0430 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c JDK 1.0.2. \u0412 \u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 JDK \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043e\u0431\u043e\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432: \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440, \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0430\u0440\u0445\u0438\u0432\u0430\u0442\u043e\u0440 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u043e\u0432. \u0412\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<p>\u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 Java \u0441\u0442\u0430\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439: \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u043e\u043c (JRE), \u0438\u0434\u0435\u043e\u043b\u043e\u0433\u0438\u0435\u0439 &#171;write once, run anywhere&#187; \u0438 \u0441\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u0435\u043c \u043a \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\n<hr\/>\n<h4>JDK 1.2 (1998): Playground \u0438 Java 2<\/h4>\n<p>Java 1.2 \u0441\u0442\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c, \u0447\u0442\u043e \u0441 \u043d\u0435\u0451 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u044d\u0440\u0430 Java 2. \u041f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043d\u0430 \u0442\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438:<\/p>\n<ul>\n<li>\n<p>J2SE \u2014 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f (\u0434\u043b\u044f \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432),<\/p>\n<\/li>\n<li>\n<p>J2EE \u2014 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f (\u0432\u0435\u0431, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b),<\/p>\n<\/li>\n<li>\n<p>J2ME\u2014 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p>JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0441\u0442\u0430\u043b \u0447\u0430\u0441\u0442\u044c\u044e JVM \u2014 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>Swing API \u2014 \u043d\u043e\u0432\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f GUI-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 AWT;<\/p>\n<\/li>\n<li>\n<p>Java Collections Framework \u2014 \u0441\u043f\u0438\u0441\u043a\u0438, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430, \u043a\u0430\u0440\u0442\u044b \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h4>J2SE 1.3 (2000): Kestrel<\/h4>\n<p>\u0412\u0435\u0440\u0441\u0438\u044f \u0441 \u043a\u043e\u0434\u043e\u0432\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c <em>Kestrel<\/em> \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 XML API \u0438 Java Sound. \u0425\u043e\u0442\u044f \u044d\u0442\u043e \u0431\u044b\u043b \u0441\u043a\u043e\u0440\u0435\u0435 &#171;\u043f\u043e\u043b\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u0439&#187; \u0440\u0435\u043b\u0438\u0437, \u043e\u043d \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b \u043e\u0441\u043d\u043e\u0432\u044b \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u0444\u0438\u0447.<\/p>\n<hr\/>\n<h4>J2SE 1.4 (2002): Merlin \u0438 Java Community Process<\/h4>\n<p>Java 1.4 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0447\u0435\u0440\u0435\u0437 Java Community Process (JCP). \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e \u0440\u0435\u043b\u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0438\u0447\u0438:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 IPv6;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0432\u0432\u043e\u0434-\u0432\u044b\u0432\u043e\u0434 (NIO);<\/p>\n<\/li>\n<li>\n<p>Logging API \u2014 \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>API \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0439 \u043b\u043e\u0433\u043e\u0442\u0438\u043f \u0441 \u0447\u0430\u0448\u043a\u043e\u0439 \u043a\u043e\u0444\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u043e \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 Java. <\/p>\n<figure class=\"\"><\/figure>\n<hr\/>\n<h4>J2SE 5.0 (2004): Tiger<\/h4>\n<p>\u0425\u043e\u0442\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u0432\u0435\u0440\u0441\u0438\u044f 1.5, \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043a\u0430\u043a Java 5.0 \u2014 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u0431\u044b\u043b \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 Java \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0430\u0447\u043e\u043a \u0432 \u0437\u0440\u0435\u043b\u043e\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>Generics \u2014 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>Annotations \u2014 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u043a\u0430\u043a \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043a\u043e\u0434\u0435;<\/p>\n<\/li>\n<li>\n<p>Autoboxing \/ Unboxing \u2014 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430\u043c\u0438 \u0438 \u043e\u0431\u0451\u0440\u0442\u043a\u0430\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>Enum \u2014 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Varargs \u2014 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b;<\/p>\n<\/li>\n<li>\n<p>Enhanced for-each loop \u2014 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u043f\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c;<\/p>\n<\/li>\n<li>\n<p>Static imports \u2014 \u0438\u043c\u043f\u043e\u0440\u0442 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432 Swing, RMI, \u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 Scanner.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0444\u0430\u043a\u0442: \u044d\u0442\u043e \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Java, \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043d\u0430 macOS.<\/p>\n<hr\/>\n<h4>JDK 6 (2006): Mustang \u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Sun<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 Java, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 Sun Microsystems \u0434\u043e \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Oracle. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443, \u0432 \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u043e\u0448\u043b\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043f\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 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 JDBC 4.0;<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f GUI-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f <code>SwingWorker<\/code>, \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u0442\u0430\u0431\u043b\u0438\u0446, \u0434\u0432\u043e\u0439\u043d\u0443\u044e \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0434\u0440.).<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043a\u043e\u043d\u0446\u0435 2008 \u0433\u043e\u0434\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f JavaFX, \u043a\u0430\u043a \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0434\u043b\u044f GUI-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 JavaFX \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u043b \u0441\u043e\u0431\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a, \u0438 \u0435\u0433\u043e \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c: Swing \u0435\u0449\u0451 \u0434\u043e\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043b, \u0430 \u0432\u043d\u0443\u0442\u0440\u0438 Sun \u043d\u0435 \u0431\u044b\u043b\u043e \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0435\u043d\u0438\u044f, \u0441\u0442\u043e\u0438\u0442 \u043b\u0438 JavaFX \u0432\u043e\u043e\u0431\u0449\u0435 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c.<\/p>\n<h4>Java \u043e\u0442 Oracle<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u0443\u0440\u0431\u0443\u043b\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445 \u0433\u043e\u0434\u043e\u0432, \u0441\u0443\u0434\u044c\u0431\u0430 Java \u0441\u043d\u043e\u0432\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. \u0412 2009 \u0433\u043e\u0434\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u043b\u0430 Sun Microsystems \u0437\u0430 $5.6 \u043c\u043b\u0440\u0434. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u0433\u0440\u043e\u043c\u043a\u043e\u0435 \u0438 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435: \u043c\u043d\u043e\u0433\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0414\u0436\u0435\u0439\u043c\u0441\u0430 \u0413\u043e\u0441\u043b\u0438\u043d\u0433\u0430, \u043f\u043e\u043a\u0438\u043d\u0443\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0441 \u0442\u0440\u0435\u0432\u043e\u0433\u043e\u0439 \u0441\u043b\u0435\u0434\u0438\u043b\u043e \u0437\u0430 \u0442\u0435\u043c, \u0432 \u043a\u0430\u043a\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 Oracle \u043f\u043e\u0432\u0435\u0434\u0451\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443.<\/p>\n<hr\/>\n<h4>Java 7 (2011)<\/h4>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 Sun \u043a Oracle \u0437\u0430\u043d\u044f\u043b \u043e\u043a\u043e\u043b\u043e \u043f\u044f\u0442\u0438 \u043b\u0435\u0442, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 2011 \u0433\u043e\u0434\u0443 \u0432\u044b\u0448\u0435\u043b Java 7 (\u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f \u2014 Dolphin). \u042d\u0442\u043e \u0431\u044b\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u043f\u043e\u0434 \u044d\u0433\u0438\u0434\u043e\u0439 <\/p>\n<\/div>\n<\/div>\n<\/div>\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-460737","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/460737","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=460737"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/460737\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=460737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=460737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=460737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}