{"id":74554,"date":"2020-03-18T20:41:55","date_gmt":"2020-03-18T17:41:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-14"},"modified":"2020-03-18T20:41:55","modified_gmt":"2020-03-18T17:41:55","slug":"vypusk-java-se-14","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/news\/vypusk-java-se-14","title":{"rendered":"A Java SE 14 kiad\u00e1sa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hat h\u00f3napnyi fejleszt\u00e9s ut\u00e1n az Oracle c\u00e9g <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-March\/000282.htm\">kiadta<\/a><\/noindex> platformj\u00e1t <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 14<\/a><\/noindex> (Java Platform, Standard Edition 14), amelynek referenciaimplement\u00e1ci\u00f3ja az OpenJDK ny\u00edlt projekt. A Java SE 14 megtartja a visszafel\u00e9 kompatibilit\u00e1st a Java platform kor\u00e1bbi kiad\u00e1saival, a m\u00e1r meg\u00edrt Java-projektek v\u00e1ltoztat\u00e1s n\u00e9lk\u00fcli futtat\u00e1sa lehets\u00e9ges az \u00faj verzi\u00f3 alatt. A Java SE 14 telep\u00edthet\u0151 csomagjai (JDK, JRE \u00e9s Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/14\">kiad\u00e1sok<\/a><\/noindex> el\u00e9rhet\u0151k Linuxra (x86_64), Windowsra \u00e9s macOS-ra. Az OpenJDK projekt keretein bel\u00fcl kifejlesztett referenciaimplement\u00e1ci\u00f3 <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">Java 14<\/a><\/noindex> teljes m\u00e9rt\u00e9kben ny\u00edlt, GPLv2 licenc alatt, GNU ClassPath kiv\u00e9telekkel, amelyek lehet\u0151v\u00e9 teszik a dinamikus k\u00f6t\u00e9st kereskedelmi term\u00e9kekkel. <\/p>\n<p>A Java SE 14 a norm\u00e1l t\u00e1mogat\u00e1si ciklus\u00fa kiad\u00e1sok k\u00f6z\u00e9 tartozik, melyekhez friss\u00edt\u00e9sek a k\u00f6vetkez\u0151 kiad\u00e1sig fognak \u00e9rkezni. A hossz\u00fa t\u00e1v\u00fa t\u00e1mogat\u00e1si (LTS) \u00e1gk\u00e9nt a Java SE 11-t kell haszn\u00e1lni, amelyhez friss\u00edt\u00e9sek 2026-ig \u00e9rkeznek. A kor\u00e1bbi LTS \u00e1g, Java 8, 2020 december\u00e9ig lesz t\u00e1mogatva. A k\u00f6vetkez\u0151 LTS kiad\u00e1s tervezett id\u0151pontja 2021 szeptember. Ne felejts\u00fck el, hogy a Java 10 kiad\u00e1st\u00f3l kezdve a projekt egy \u00faj fejleszt\u00e9si folyamatra v\u00e1ltott, mely r\u00f6videbb \u00faj kiad\u00e1si ciklusokat tesz lehet\u0151v\u00e9. Az \u00faj funkcionalit\u00e1s most egy folyamatosan friss\u00edtett master \u00e1gon fejl\u0151dik, amely m\u00e1r k\u00e9sz v\u00e1ltoztat\u00e1sokat tartalmaz, \u00e9s amelyb\u0151l hat havonta \u00faj stabiliz\u00e1l\u00f3 \u00e1gak \u00e1gaznak le. <\/p>\n<p>A <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/14\/\">\u00fajdons\u00e1gok<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/jdk.java.net\/14\/release-notes#newfeatures\">Java 14<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase\/14u-relnotes.html\">lehet\u0151v\u00e9 teszi<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/java-14-arrives-with-a-host-of-new-features\">a sz\u00e1nd\u00e9kot<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> K\u00eds\u00e9rleti t\u00e1mogat\u00e1s ker\u00fclt hozz\u00e1ad\u00e1sra <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/305\">mint\u00e1zathoz val\u00f3 illeszt\u00e9s<\/a><\/noindex> az &#171;instanceof&#187; oper\u00e1torra, amely lehet\u0151v\u00e9 teszi a lok\u00e1lis v\u00e1ltoz\u00f3 azonnali meghat\u00e1roz\u00e1s\u00e1t a megvizsg\u00e1lt \u00e9rt\u00e9khez val\u00f3 hozz\u00e1f\u00e9r\u00e9shez. P\u00e9ld\u00e1ul az al\u00e1bbiak szerint \u00edrhatjuk: &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; kifejezett meghat\u00e1roz\u00e1sa n\u00e9lk\u00fcl: &#171;String s = (String) obj&#187;.\n<p>R\u00e9gebben:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Most m\u00e1r el lehet ker\u00fclni a &#171;Group group = (Group) obj&#187; meghat\u00e1roz\u00e1s\u00e1t:<\/p>\n<p>   if (obj instanceof Group group) {<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<li class=\"l\"> K\u00eds\u00e9rleti t\u00e1mogat\u00e1s ker\u00fclt bevezet\u00e9sre az \u00faj &#171; kulcssz\u00f3hoz, amely<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record\" kulcssz\u00f3hoz<\/a><\/noindex>&#171;, t\u00f6m\u00f6r form\u00e1t biztos\u00edt a oszt\u00e1lyok meghat\u00e1roz\u00e1s\u00e1hoz, lehet\u0151v\u00e9 t\u00e9ve a k\u00fcl\u00f6nf\u00e9le alacsony szint\u0171 met\u00f3dusok, p\u00e9ld\u00e1ul az equals(), hashCode() \u00e9s toString() kifejezett meghat\u00e1roz\u00e1s\u00e1nak elker\u00fcl\u00e9s\u00e9t, amikor az adatok csak a mez\u0151kben ker\u00fclnek t\u00e1rol\u00e1sra, \u00e9s a m\u0171veletek viselked\u00e9se nem v\u00e1ltozik. Amikor egy oszt\u00e1lyban az equals(), hashCode() \u00e9s toString() met\u00f3dusok alap\u00e9rtelmezett megval\u00f3s\u00edt\u00e1sait haszn\u00e1lj\u00e1k, akkor ezek kifejezett meghat\u00e1roz\u00e1sa elker\u00fclhet\u0151:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Ez a hirdet\u00e9s automatikus m\u00f3don hozz\u00e1adja az equals(), hashCode() \u00e9s toString() met\u00f3dusok megval\u00f3s\u00edt\u00e1s\u00e1t a konstruktorhoz \u00e9s az adatm\u00f3dos\u00edt\u00e1st vez\u00e9rl\u0151 met\u00f3dusokhoz (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/361\">Standardiz\u00e1lva<\/a><\/noindex> \u00e9s alap\u00e9rtelmez\u00e9s szerint t\u00e1mogatja az \u00faj &#171;switch&#187; kifejez\u00e9sek form\u00e1j\u00e1t, amely nem ig\u00e9nyli a &#171;break&#187; utas\u00edt\u00e1s megad\u00e1s\u00e1t, lehet\u0151v\u00e9 t\u00e9ve a duplik\u00e1lt c\u00edmk\u00e9k egyes\u00edt\u00e9s\u00e9t, \u00e9s nemcsak oper\u00e1tork\u00e9nt, hanem kifejez\u00e9sk\u00e9nt is haszn\u00e1lhat\u00f3.\n<p>   var log = switch (event) {<br \/>\n       case PLAY -&gt; &#171;A felhaszn\u00e1l\u00f3 elind\u00edtotta a lej\u00e1tsz\u00f3 gombot&#187;;<br \/>\n       case STOP, PAUSE -&gt; &#171;A felhaszn\u00e1l\u00f3nak sz\u00fcnetre van sz\u00fcks\u00e9ge&#187;;<br \/>\n       default -&gt; {<br \/>\n           String message = event.toString();<br \/>\n           LocalDateTime now = LocalDateTime.now();<br \/>\n           yield &#171;Ismeretlen esem\u00e9ny &#187; + \u00fczenet +<br \/>\n              &#187; napl\u00f3zva &#187; + most;<br \/>\n       }<br \/>\n   };<\/p>\n<li class=\"l\"> Kiterjesztett\u00e9k a k\u00eds\u00e9rleti t\u00e1mogat\u00e1st <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/368\">sz\u00f6veges blokkokhoz<\/a><\/noindex> &#8212; az \u00faj string liter\u00e1lform\u00e1kr\u00f3l, amelyek lehet\u0151v\u00e9 teszik t\u00f6bb soros sz\u00f6veges adatok beilleszt\u00e9s\u00e9t a forr\u00e1sk\u00f3dba, karakterek kib\u0151v\u00edt\u00e9se n\u00e9lk\u00fcl, \u00e9s megtartva a sz\u00f6vegbblokkok eredeti form\u00e1tum\u00e1t. A blokk keretez\u00e9se h\u00e1rom dupla id\u00e9z\u0151jelb\u0151l t\u00f6rt\u00e9nik. A Java 14-ben a sz\u00f6veges blokkokban t\u00e1mogat\u00e1s ker\u00fclt bevezet\u00e9sre az &#171;&#092;s&#187; escape sorozathoz az egy sz\u00f3k\u00f6z meghat\u00e1roz\u00e1s\u00e1hoz \u00e9s az &#171;&#092;&#187; a k\u00f6vetkez\u0151 sorhoz val\u00f3 csatlakoz\u00e1shoz (a sort\u00f6r\u00e9s figyelmen k\u00edv\u00fcl hagy\u00e1sa eset\u00e9n, amikor nagyon hossz\u00fa sort kell megjelen\u00edteni). P\u00e9ld\u00e1ul a k\u00f3d helyett:\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 14 itt van!&#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>lehet megadni:<\/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 14&#092;<br \/>\n itt van!&#187;&lt;\\\/H1&gt;<br \/>\n     &lt;\\\/BODY&gt;<br \/>\n   &lt;\\\/HTML&gt;&#187;&#187;&#187;;<\/p>\n<li class=\"l\"> B\u0151v\u00edtett\u00e9k a diagnosztik\u00e1t az kiv\u00e9telek el\u0151fordul\u00e1sakor, <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/358\">NullPointerException<\/a><\/noindex>. Ha kor\u00e1bban a hiba\u00fczenet csak a sor sz\u00e1m\u00e1ra hivatkozott, most r\u00e9szletesen bemutatja, hogy melyik met\u00f3dus okozta a kiv\u00e9telt. A kiterjesztett diagnosztika csak az &#171;-XX:+ShowCodeDetailsInExceptionMessages&#187; kapcsol\u00f3val egy\u00fctt ker\u00fcl aktiv\u00e1l\u00e1sra. P\u00e9ld\u00e1ul ezen kapcsol\u00f3 megad\u00e1sa eset\u00e9n a kiv\u00e9tel a sorban\n<p>   var name = user.getLocation().getCity().getName();<\/p>\n<p> kiv\u00e1ltja a k\u00f6vetkez\u0151 \u00fczenet ki\u00edr\u00e1s\u00e1t:<\/p>\n<p>   Kiv\u00e9tel a sz\u00e1lban &#171;main&#187; java.lang.NullPointerException: Nem lehet megh\u00edvni &#171;Location.getCity()&#187;<br \/>\n   mert a &#171;User.getLocation()&#187; visszat\u00e9r\u00e9si \u00e9rt\u00e9ke null<br \/>\n   at NullPointerExample.main(NullPointerExample.java:5):5)<\/p>\n<p>ami lehet\u0151v\u00e9 teszi, hogy meg\u00e9rts\u00fck, hogy a Location.getCity() met\u00f3dus nem lett megh\u00edvva, m\u00edg a User.getLocation() visszaadott egy null \u00e9rt\u00e9ket.<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/343\">Megval\u00f3s\u00edtva lett<\/a><\/noindex> a jpackage seg\u00e9dprogram el\u0151zetes verzi\u00f3ja, amely lehet\u0151v\u00e9 teszi a f\u00fcggetlen (self-contained) Java alkalmaz\u00e1sok csomagol\u00e1s\u00e1t. A seg\u00e9dprogram a JavaFX javapackagerj\u00e9re \u00e9p\u00fcl, \u00e9s lehet\u0151v\u00e9 teszi a csomagok l\u00e9trehoz\u00e1s\u00e1t k\u00fcl\u00f6nb\u00f6z\u0151 platformok nat\u00edv form\u00e1tumaiban (msi \u00e9s exe Windowsra, pkg \u00e9s dmg macOS-re, deb \u00e9s rpm Linuxra). A csomagok tartalmazz\u00e1k az \u00f6sszes sz\u00fcks\u00e9ges f\u00fcgg\u0151s\u00e9get.\n<li class=\"l\"> A G1 szem\u00e9tgy\u0171jt\u0151 <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/345\">hozz\u00e1adva<\/a><\/noindex> \u00faj mem\u00f3riaeloszt\u00e1si mechanizmus, amely figyelembe veszi a nagy rendszerek specifikus m\u0171k\u00f6d\u00e9s\u00e9t, amelyek NUMA architekt\u00far\u00e1t haszn\u00e1lnak. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Non-Uniform_Memory_Access\">NUMA<\/a><\/noindex>. Egy \u00faj mem\u00f3riaeloszt\u00f3 kapcsolhat\u00f3 be a &#171;+XX:+UseNUMA&#187; flag seg\u00edts\u00e9g\u00e9vel, amely jelent\u0151sen n\u00f6velheti a teljes\u00edtm\u00e9nyt NUMA-rendszereken.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/349\">az \u201eAlkalmaz\u00e1s\u201d eszk\u00f6z<\/a><\/noindex> API a JFR (JDK Flight Recorder) esem\u00e9nyek val\u00f3s idej\u0171 nyomon k\u00f6vet\u00e9s\u00e9re, p\u00e9ld\u00e1ul folyamatos ellen\u0151rz\u00e9s megszervez\u00e9s\u00e9re.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/352\">az \u201eAlkalmaz\u00e1s\u201d eszk\u00f6z<\/a><\/noindex> a jdk.nio.mapmode modul, amely \u00faj m\u00f3dokat (READ_ONLY_SYNC, WRITE_ONLY_SYNC) k\u00edn\u00e1l a megjelen\u00edtett b\u00e1jtok puffereinek (MappedByteBuffer) l\u00e9trehoz\u00e1s\u00e1hoz, amelyek nem t\u00e9rfogatf\u00fcggetlen mem\u00f3ri\u00e1ra (NVM) mutatnak.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/370\">Megval\u00f3s\u00edtva lett<\/a><\/noindex> a Foreign-Memory Access API el\u0151zetes v\u00e1ltozata, amely lehet\u0151v\u00e9 teszi a Java alkalmaz\u00e1sok sz\u00e1m\u00e1ra, hogy biztons\u00e1gosan \u00e9s hat\u00e9konyan f\u00e9rjenek hozz\u00e1 a Java heap-en k\u00edv\u00fcli mem\u00f3ria ter\u00fcletekhez, manipul\u00e1lva az \u00faj MemorySegment, MemoryAddress \u00e9s MemoryLayout absztrakci\u00f3kat.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/362\">Nyilv\u00e1n\u00edtott<\/a><\/noindex> elavult portok a Solaris oper\u00e1ci\u00f3s rendszerhez \u00e9s a SPARC processzorokhoz (Solaris\/SPARC, Solaris\/x64 \u00e9s Linux\/SPARC) azzal a sz\u00e1nd\u00e9kkal, hogy ezeket a portokat a j\u00f6v\u0151ben elt\u00e1vol\u00edts\u00e1k. Az ilyen portok elavultt\u00e1 nyilv\u00e1n\u00edt\u00e1sa lehet\u0151v\u00e9 teszi a k\u00f6z\u00f6ss\u00e9g sz\u00e1m\u00e1ra, hogy felgyors\u00edtsa az \u00faj lehet\u0151s\u00e9gek fejleszt\u00e9s\u00e9t az OpenJDK-ban, an\u00e9lk\u00fcl, hogy id\u0151t pazarolna a Solaris \u00e9s SPARC-specifikus jellemz\u0151k fenntart\u00e1s\u00e1ra.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/363\">T\u00f6r\u00f6lve<\/a><\/noindex> a CMS (Concurrent Mark Sweep) szem\u00e9tgy\u0171jt\u0151, amelyet k\u00e9t \u00e9vvel ezel\u0151tt elavultnak nyilv\u00e1n\u00edtottak, \u00e9s amelyhez nem ny\u00fajtanak t\u00e1mogat\u00e1st (a CMS-t m\u00e1r r\u00e9g\u00f3ta felv\u00e1ltotta a G1 szem\u00e9tgy\u0171jt\u0151). Ezen t\u00falmen\u0151en, <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/366\">bejelentett\u00e9k<\/a><\/noindex> elavult a ParallelScavenge \u00e9s a SerialOld gy\u0171jt\u0151algoritmusok kombin\u00e1ci\u00f3j\u00e1nak haszn\u00e1lata (ind\u00edt\u00e1s az &#171;-XX:+UseParallelGC -XX:-UseParallelOldGC&#187; opci\u00f3kkal).\n<li class=\"l\"> K\u00eds\u00e9rleti t\u00e1mogat\u00e1st ny\u00fajtottak a ZGC (Z Garbage Collector) szem\u00e9tgy\u0171jt\u0151h\u00f6z a macOS \u00e9s Windows platformokon (kor\u00e1bban csak Linuxon t\u00e1mogatt\u00e1k). A ZGC passz\u00edv m\u00f3dban m\u0171k\u00f6dik, \u00e9s a lehet\u0151 legjobban minimaliz\u00e1lja a szem\u00e9tgy\u0171jt\u00e9sb\u0151l ad\u00f3d\u00f3 k\u00e9sleked\u00e9seket (a ZGC haszn\u00e1lata melletti le\u00e1ll\u00e1si id\u0151 nem haladja meg a 10 ms-ot), \u00e9s k\u00e9pes m\u0171k\u00f6dni kicsi \u00e9s hatalmas, t\u00f6bb sz\u00e1z megab\u00e1jtt\u00f3l t\u00f6bb terab\u00e1jtig terjed\u0151 heap-eken.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/367\">Elt\u00e1vol\u00edtva<\/a><\/noindex> Eszk\u00f6zk\u00e9szlet \u00e9s API JAR-f\u00e1jlok t\u00f6m\u00f6r\u00edt\u00e9s\u00e9re a Pack200 algoritmus felhaszn\u00e1l\u00e1s\u00e1val.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Forr\u00e1s: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52559\">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 14 (Java Platform, Standard Edition 14), \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 14 \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-74554","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\/hu\/blog\/news\/vypusk-java-se-14\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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 14 | 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\/hu\/blog\/news\/vypusk-java-se-14\" \/>\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-03-18T17:41:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-18T17:41:55+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\udd47A Java SE 14 kiad\u00e1sa | ProHoster","description":"Hat h\u00f3nap fejleszt\u00e9s ut\u00e1n az Oracle kiadta a platformot","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/vypusk-java-se-14","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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 14 | 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\/hu\/blog\/news\/vypusk-java-se-14","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-03-18T17:41:55+00:00","article:modified_time":"2020-03-18T17:41:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74554","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 18:12:24","updated":"2022-10-01 23:29:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/74554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=74554"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/74554\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=74554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=74554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=74554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}