{"id":94334,"date":"2020-09-16T01:42:08","date_gmt":"2020-09-15T23:42:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-15"},"modified":"2020-09-16T01:42:08","modified_gmt":"2020-09-15T23:42:08","slug":"vypusk-java-se-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Vyd\u00e1n\u00ed Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po \u0161esti m\u011bs\u00edc\u00edch v\u00fdvoje spole\u010dnost Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">vyu\u017eila<\/a><\/noindex> platformu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), jeho\u017e referen\u010dn\u00ed implementac\u00ed je otev\u0159en\u00fd projekt OpenJDK. Java SE 15 zachov\u00e1v\u00e1 zp\u011btnou kompatibilitu s p\u0159edchoz\u00edmi verzemi platformy Java, v\u0161echny d\u0159\u00edve napsan\u00e9 Java projekty bez zm\u011bn budou funk\u010dn\u00ed na nov\u00e9 verzi. Instalovateln\u00e9 sestavy Java SE 15 (JDK, JRE a Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">jsou p\u0159ipraveny<\/a><\/noindex> pro Linux (x86_64), Windows a macOS. Referen\u010dn\u00ed implementace vyvinut\u00e1 v r\u00e1mci projektu OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> je zcela otev\u0159en\u00e1 pod licenc\u00ed GPLv2 s v\u00fdjimkami GNU ClassPath, kter\u00e9 umo\u017e\u0148uj\u00ed dynamick\u00e9 spojen\u00ed s komer\u010dn\u00edmi produkty. <\/p>\n<p>Java SE 15 pat\u0159\u00ed do kategorie verz\u00ed s b\u011b\u017enou podporou, aktualizace pro n\u011bj budou vyd\u00e1v\u00e1ny a\u017e do n\u00e1sleduj\u00edc\u00edho vyd\u00e1n\u00ed. Pro dlouhodobou podporu (LTS) je t\u0159eba pou\u017e\u00edvat Java SE 11, pro kterou budou aktualizace vyd\u00e1v\u00e1ny a\u017e do roku 2026. Minul\u00e1 LTS verze Java 8 bude podporov\u00e1na do prosince 2020. Dal\u0161\u00ed LTS vyd\u00e1n\u00ed je pl\u00e1nov\u00e1no na z\u00e1\u0159\u00ed 2021. P\u0159ipom\u00edn\u00e1me, \u017ee od vyd\u00e1n\u00ed Java 10 projekt p\u0159e\u0161el na nov\u00fd v\u00fdvojov\u00fd proces, kter\u00fd zahrnuje krat\u0161\u00ed cyklus vyd\u00e1v\u00e1n\u00ed nov\u00fdch verz\u00ed. Nov\u00e9 funkce se nyn\u00ed vyv\u00edjej\u00ed v jedn\u00e9 neust\u00e1le aktualizovan\u00e9 master v\u011btvi, do kter\u00e9 jsou zahrnuty hotov\u00e9 zm\u011bny, a jednou za \u0161est m\u011bs\u00edc\u016f se od n\u00ed odv\u00edjej\u00ed v\u011btve pro stabilizaci nov\u00fdch vyd\u00e1n\u00ed. <\/p>\n<p>Z <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">novinky<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/jdk.java.net\/14\/release-notes#newfeatures\">Java 15<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/15all-relnotes.html\">lze<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">za\u0161krtnout<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Vestav\u011bn\u00e1<\/a><\/noindex> podpora algoritmu pro vytv\u00e1\u0159en\u00ed digit\u00e1ln\u00edho podpisu EdDSA (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). Navr\u017een\u00e1 implementace EdDSA nez\u00e1vis\u00ed na hardwarov\u00fdch platform\u00e1ch, je chr\u00e1n\u011bna p\u0159ed \u00fatoky prost\u0159ednictv\u00edm kan\u00e1l\u016f (zaji\u0161t\u011bno konstantn\u00ed \u010dasov\u00e1n\u00ed v\u0161ech v\u00fdpo\u010dt\u016f) a co se t\u00fd\u010de v\u00fdkonu, p\u0159ed\u010d\u00ed st\u00e1vaj\u00edc\u00ed implementaci ECDSA napsanou v jazyce C, p\u0159i stejn\u00e9 \u00farovni ochrany. Nap\u0159\u00edklad EdDSA p\u0159i pou\u017eit\u00ed eliptick\u00e9 k\u0159ivky se 126bitov\u00fdm kl\u00ed\u010dem vykazuje v\u00fdkon srovnateln\u00fd s ECDSA s eliptickou k\u0159ivkou secp256r1 a 128bitov\u00fdm kl\u00ed\u010dem.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Byla p\u0159id\u00e1na<\/a><\/noindex> experiment\u00e1ln\u00ed podpora uzav\u0159en\u00fdch (&#171;sealed&#187;) t\u0159\u00edd a rozhran\u00ed, kter\u00e9 nemohou b\u00fdt pou\u017e\u00edv\u00e1ny jin\u00fdmi t\u0159\u00eddami a rozhran\u00edmi pro d\u011bd\u011bn\u00ed, roz\u0161i\u0159ov\u00e1n\u00ed nebo p\u0159et\u00ed\u017een\u00ed implementace. Uzav\u0159en\u00e9 t\u0159\u00eddy rovn\u011b\u017e poskytuj\u00ed v\u00edce deklarativn\u00ed zp\u016fsob omezen\u00ed pou\u017eit\u00ed nad\u0159\u00edzen\u00e9 t\u0159\u00eddy ne\u017e p\u0159\u00edstupov\u00e9 modifik\u00e1tory, zalo\u017een\u00fd na explicitn\u00edm vyjmenov\u00e1n\u00ed podt\u0159\u00edd povolen\u00fdch k roz\u0161\u00ed\u0159en\u00ed.\n<p>   package com.example.geometry;<\/p>\n<p>   public sealed class Shape<br \/>\n        permits com.example.polar.Circle,<br \/>\n                com.example.quad.Rectangle,<br \/>\n                com.example.quad.simple.Square {&#8230;}<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/371\">Byla p\u0159id\u00e1na<\/a><\/noindex> podpora skryt\u00fdch t\u0159\u00edd, kter\u00e9 nemohou b\u00fdt pou\u017e\u00edv\u00e1ny p\u0159\u00edmo bytecodem jin\u00fdch t\u0159\u00edd. Kl\u00ed\u010dov\u00fdm \u00fa\u010delem skryt\u00fdch t\u0159\u00edd je pou\u017eit\u00ed ve framework\u00e1ch, kter\u00e9 dynamicky generuj\u00ed t\u0159\u00eddy b\u011bhem b\u011bhu a pou\u017e\u00edvaj\u00ed je nep\u0159\u00edmo, prost\u0159ednictv\u00edm <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D1%82%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)\">reflexe<\/a><\/noindex>. Takov\u00e9 t\u0159\u00eddy obvykle maj\u00ed omezen\u00fd \u017eivotn\u00ed cyklus, proto jejich udr\u017eov\u00e1n\u00ed pro p\u0159\u00edstup z staticky generovan\u00fdch t\u0159\u00edd nen\u00ed opodstatn\u011bn\u00e9 a povede pouze ke zv\u00fd\u0161en\u00ed spot\u0159eby pam\u011bti. Skryt\u00e9 t\u0159\u00eddy tak\u00e9 umo\u017e\u0148uj\u00ed obej\u00edt se bez nestandardn\u00edho API sun.misc.Unsafe::defineAnonymousClass, kter\u00e9 je pl\u00e1nov\u00e1no na odstran\u011bn\u00ed v budoucnu.\n<li class=\"l\"> Stabilizov\u00e1n a uzn\u00e1n za p\u0159ipraven\u00fd pro \u0161irok\u00e9 pou\u017eit\u00ed je sb\u011bra\u010d odpadu ZGC (Z Garbage Collector). ZGC pracuje v pasivn\u00edm re\u017eimu a sna\u017e\u00ed se minimalizovat zpo\u017ed\u011bn\u00ed zp\u016fsoben\u00e1 sb\u011brem odpadu (doba zastaven\u00ed p\u0159i pou\u017eit\u00ed ZGC nep\u0159ekra\u010duje 10 ms) a m\u016f\u017ee pracovat jak s mal\u00fdmi, tak s obrovsk\u00fdmi haldami, jejich\u017e velikost se pohybuje od n\u011bkolika stovek megabajt\u016f po mnoh\u00e9 terabyty.\n<li class=\"l\"> Stabilizov\u00e1n a uzn\u00e1n za p\u0159ipraven\u00fd pro \u0161irok\u00e9 pou\u017eit\u00ed<br \/>\n sb\u011bra\u010d odpadu <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, funguj\u00edc\u00ed s minim\u00e1ln\u00edmi p\u0159est\u00e1vkami (Low-Pause-Time Garbage Collector). Shenandoah byl navr\u017een spole\u010dnost\u00ed Red Hat a vyzna\u010duje se pou\u017eit\u00edm algoritmu, kter\u00fd zkracuje dobu zastaven\u00ed b\u011bhem sb\u011bru odpadu t\u00edm, \u017ee prov\u00e1d\u00ed \u00faklid paraleln\u011b s provozem Java aplikac\u00ed. Velikost zpo\u017ed\u011bn\u00ed zp\u016fsoben\u00fdch sb\u011bra\u010dem odpadu je p\u0159edv\u00eddateln\u00e1 a nez\u00e1visl\u00e1 na velikosti haldy, tj. pro haldy o velikosti 200 MB a 200 GB budou zpo\u017ed\u011bn\u00ed stejn\u00e1 (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">nep\u0159ekra\u010duj\u00ed<\/a><\/noindex> 50 ms a obvykle se pohybuj\u00ed kolem 10 ms);<\/p>\n<li class=\"l\"> Stabilizov\u00e1na a byla zavedena do jazyka podpora <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">textov\u00fdch blok\u016f<\/a><\/noindex> &#8212; nov\u00e1 forma \u0159et\u011bzcov\u00fdch liter\u00e1l\u016f, kter\u00e1 umo\u017e\u0148uje zahrnout do zdrojov\u00e9ho k\u00f3du v\u00edcerozm\u011brn\u00e1 textov\u00e1 data bez nutnosti pou\u017eit\u00ed \u00fanikov\u00fdch znak\u016f a zachov\u00e1v\u00e1 p\u016fvodn\u00ed form\u00e1tov\u00e1n\u00ed textu v bloku. Obalov\u00e1n\u00ed bloku se prov\u00e1d\u00ed t\u0159emi dvojit\u00fdmi uvozovkami.\n<p>Nap\u0159\u00edklad m\u00edsto k\u00f3du<\/p>\n<p>   String html = &#171;&lt;HTML&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#092;t&#187; + &#171;&lt;H1&gt;&#092;&#187;Java 15 je tady!&#092;&#187;&lt;\\\/H1&gt;&#187; +<br \/>\n   &#171;&#092;n&#092;t&#187; + &#171;&lt;\\\/BODY&gt;&#187; +<br \/>\n   &#171;&#092;n&#187; + &#171;&lt;\\\/HTML&gt;&#187;;<\/p>\n<p>m\u016f\u017eete napsat:<\/p>\n<p>   String html = &#171;&#187;&#187;<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       &lt;H1&gt;&#187;Java 15&#092;<br \/>\n je tady!&#187;&lt;\\\/H1&gt;<br \/>\n     &lt;\/BODY&gt;<br \/>\n   &lt;\\\/HTML&gt;&#187;&#187;&#187;;<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">P\u0159epracov\u00e1no<\/a><\/noindex> API Legacy DatagramSocket. Star\u0161\u00ed implementace java.net.DatagramSocket a java.net.MulticastSocket byly nahrazeny modern\u00ed implementac\u00ed, kter\u00e1 je jednodu\u0161\u0161\u00ed pro lad\u011bn\u00ed a \u00fadr\u017ebu a je tak\u00e9 kompatibiln\u00ed s virtu\u00e1ln\u00edmi vl\u00e1kny vyv\u00edjen\u00fdmi v r\u00e1mci projektu. <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. V p\u0159\u00edpad\u011b mo\u017en\u00e9 nekompatibility se st\u00e1vaj\u00edc\u00edm k\u00f3dem nebyla star\u00e1 implementace odstran\u011bna a m\u016f\u017ee b\u00fdt aktivov\u00e1na pomoc\u00ed volby jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> Byla navr\u017eena druh\u00e1 experiment\u00e1ln\u00ed implementace <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">shodov\u00e1n\u00ed s vzorem<\/a><\/noindex> v oper\u00e1toru &#171;instanceof&#187;, kter\u00fd umo\u017e\u0148uje okam\u017eit\u011b definovat lok\u00e1ln\u00ed prom\u011bnnou pro p\u0159\u00edstup k ov\u011b\u0159en\u00e9 hodnot\u011b. Nap\u0159\u00edklad lze okam\u017eit\u011b napsat &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; bez zjevn\u00e9 definice &#171;String s = (String) obj&#187;.\n<p>Bylo:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Nyn\u00ed je mo\u017en\u00e9 obej\u00edt se bez definice &#171;Group group = (Group) obj&#187;:<\/p>\n<p>   if (obj instanceof Group group) {<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/384\">Byla navr\u017eena<\/a><\/noindex> druh\u00e1 experiment\u00e1ln\u00ed implementace kl\u00ed\u010dov\u00e9ho slova &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>&#171;, kter\u00e9 poskytuje kompaktn\u00ed formu pro definici t\u0159\u00edd, umo\u017e\u0148uj\u00edc\u00ed obej\u00edt se bez zjevn\u00e9 definice r\u016fzn\u00fdch n\u00edzko\u00farov\u0148ov\u00fdch metod, jako jsou equals(), hashCode() a toString(), v p\u0159\u00edpadech, kdy data jsou ulo\u017eena pouze v pol\u00edch, jejich\u017e chov\u00e1n\u00ed se nem\u011bn\u00ed. Kdy\u017e jsou v t\u0159\u00edd\u011b pou\u017eity typov\u00e9 implementace metod equals(), hashCode() a toString(), lze se v n\u00ed obej\u00edt bez jejich zjevn\u00e9 definice:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Toto prohl\u00e1\u0161en\u00ed povede k automatick\u00e9mu p\u0159id\u00e1n\u00ed implementac\u00ed metod equals(), hashCode() a toString() spolu s konstruktorem a metodami, kter\u00e9 kontroluj\u00ed zm\u011bnu dat (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Navr\u017een<\/a><\/noindex> druh\u00fd p\u0159edb\u011b\u017en\u00fd n\u00e1vrh API Foreign-Memory Access, umo\u017e\u0148uj\u00edc\u00ed Java aplikac\u00edm bezpe\u010dn\u011b a efektivn\u011b p\u0159istupovat k oblastem pam\u011bti mimo haldy Java, manipulac\u00ed s nov\u00fdmi abstrakcemi MemorySegment, MemoryAddress a MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">Podpora byla zak\u00e1z\u00e1na<\/a><\/noindex> a byla prohl\u00e1\u0161ena za zastaralou technika optimalizace Biased Locking, kter\u00e1 byla pou\u017e\u00edv\u00e1na v HotSpot JVM za \u00fa\u010delem sn\u00ed\u017een\u00ed re\u017eijn\u00edch n\u00e1klad\u016f z d\u016fvodu z\u00e1mk\u016f. Tato technika ztratila relevanci na syst\u00e9mech s atomov\u00fdmi instrukcemi poskytovan\u00fdmi modern\u00edmi CPU a je p\u0159\u00edli\u0161 n\u00e1ro\u010dn\u00e1 na \u00fadr\u017ebu kv\u016fli sv\u00e9 slo\u017eitosti.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Byl ozn\u00e1men<\/a><\/noindex> zastaral\u00fdm mechanismem <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, kter\u00fd bude odstran\u011bn v jedn\u00e9 z p\u0159\u00ed\u0161t\u00edch verz\u00ed. V\u0161imn\u011bte si, \u017ee RMI Activation je zastaral\u00fd, byl p\u0159eveden na volbu ji\u017e v Jav\u011b 8 a t\u00e9m\u011b\u0159 se nepou\u017e\u00edv\u00e1 v modern\u00ed praxi.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Odebr\u00e1no<\/a><\/noindex>  JavaScriptov\u00fd engine <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, kter\u00fd byl prohl\u00e1\u0161en za zastaral\u00fd v Jav\u011b SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Odstran\u011bno<\/a><\/noindex> porty pro opera\u010dn\u00ed syst\u00e9my Solaris a procesory SPARC (Solaris\/SPARC, Solaris\/x64 a Linux\/SPARC). Odstran\u011bn\u00ed uveden\u00fdch port\u016f umo\u017en\u00ed komunit\u011b urychlit v\u00fdvoj nov\u00fdch funkc\u00ed OpenJDK, ani\u017e by se ztr\u00e1celo \u010das na udr\u017eov\u00e1n\u00ed specifick\u00fdch funkc\u00ed pro Solaris a SPARC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53717\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Java SE 15 (Java Platform, Standard Edition 15), \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 OpenJDK. \u0412 Java SE 15 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043f\u0440\u043e\u0448\u043b\u044b\u043c\u0438 \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Java, \u0432\u0441\u0435 \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-94334","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-15\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 15 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-15\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-15T23:42:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-15T23:42:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Verze Java SE 15 | ProHoster","description":"Po \u0161esti m\u011bs\u00edc\u00edch v\u00fdvoje spole\u010dnost Oracle uvedla platformu","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a Java SE 15 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-java-se-15","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-15T23:42:08+00:00","article:modified_time":"2020-09-15T23:42:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94334","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:29:28","updated":"2022-10-03 17:44:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}