{"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\/et\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Java SE 15 v\u00e4ljaanne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00e4rast kuut kuud arendust esitles Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">vabastas<\/a><\/noindex> platvormi <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), mille etalonrealiseerimiseks kasutatakse avatud projekti OpenJDK. Java SE 15 s\u00e4ilitab tagurpidi \u00fchilduvuse varasemate Java versioonidega, k\u00f5ik varasemad Java projektid t\u00f6\u00f6tavad ilma muudatusteta koos uue versiooniga. Valmis installimiseks olevad Java SE 15 paketid (JDK, JRE ja Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">valmistatud<\/a><\/noindex> Linuxi (x86_64), Windowsi ja macOS-i jaoks. Avatud projekt OpenJDK raames loodud etalonrealiseerimine <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> on t\u00e4ielikult avatud GPLv2 litsentsiga, millel on GNU ClassPath'i erandid, mis lubavad d\u00fcnaamilist sidumist kommertstooteid. <\/p>\n<p>Java SE 15 kuulub tavaliste toega v\u00e4ljaannete kategooriasse, mille v\u00e4rskendusi antakse v\u00e4lja seni, kuni ilmub j\u00e4rgmine versioon. Pikaajalise toe (LTS) jaoks on soovitatav kasutada Java SE 11, mille v\u00e4rskendusi antakse v\u00e4lja kuni 2026. aastani. Eelmise LTS-suuna Java 8 toetamine kestab kuni 2020. aasta detsembri l\u00f5puni. J\u00e4rgmine LTS v\u00e4ljaanne on planeeritud 2021. aasta septembriks. Tuletame meelde, et alates Java 10 v\u00e4ljaandest on projekt l\u00e4inud \u00fcle uuele arendusprotsessile, mis sisaldab l\u00fchemaid uute v\u00e4ljaannete ts\u00fckleid. Uus funktsionaalsus areneb n\u00fc\u00fcd \u00fches pidevalt v\u00e4rskendatavas master-haru, kuhu lisatakse valmis muudatused ja kuuest kuust l\u00f5igatakse harud uute v\u00e4ljaannete stabiliseerimiseks. <\/p>\n<p>Kuna <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">uuendusi<\/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\">saab<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">esile t\u00f5sta<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Sisseehitatud<\/a><\/noindex> EdDSA digitaalallkirja loomise algoritmi tugi (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). EdDSA pakutud rakendus ei s\u00f5ltu riistvaralisest platvormist, on kaitstud k\u00f5rvalkanalitest p\u00e4rit r\u00fcnnakute eest (tagatakse k\u00f5ikide arvutuste konstantne aeg) ja \u00fcletab j\u00f5udluses olemasolevat ECDSA rakendust, mis on kirjutatud C keeles, samas kaitsetaset hoides. N\u00e4iteks EdDSA kasutades 126-bitist elliptilise k\u00f5veraga v\u00f5tit n\u00e4itab sama j\u00f5udluse taset nagu ECDSA elliptilise k\u00f5veraga secp256r1 ja 128-bitise v\u00f5ti.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Lisatud<\/a><\/noindex> eksperimentaalne toetus suletud (&#171;sealed&#187;) klassidele ja liidestele, mida ei saa kasutada teiste klasside ja liideste p\u00e4randamiseks, laiendamiseks v\u00f5i rakenduse \u00fclekirjutamiseks. Suletud klassid pakuvad samuti deklareerimist, et piirata \u00fclemklasside kasutamist, v\u00f5rreldes juurdep\u00e4\u00e4sute modifikaatoritega, mis p\u00f5hinevad alamklasside nimede selges loetelus, mida on lubatud laiendada.\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\">Lisatud<\/a><\/noindex> tugevdatud klassid, mida ei saa otse kasutada teiste klasside poolt. Peamine eesm\u00e4rk tugevdatud klasside puhul on kasutada neid raamistikus, mis genereerib klasse d\u00fcnaamiliselt t\u00f6\u00f6 ajal ja kasutab neid kaudselt, l\u00e4bi <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)\">peegeldamise<\/a><\/noindex>. Sellised klassid omavad tavaliselt piiratud eluts\u00fcklit, seega pole nende hoidmine staatiliselt genereeritud klasside poolt ligip\u00e4\u00e4setavana m\u00f5istlik ega too muud kui suurenenud m\u00e4lutarbimist. Tugevdatud klassid v\u00f5imaldavad v\u00e4ltida mittestandardsest API-st sun.misc.Unsafe::defineAnonymousClass, mis on kavandatud tulevikus eemaldada.\n<li class=\"l\"> Stabiliseeriti ja tunnustati laialdaseks kasutamiseks valmis pr\u00fcgikorja ZGC (Z Garbage Collector). ZGC t\u00f6\u00f6tab passiivses re\u017eiimis, et minimeerida pr\u00fcgikorjaga seotud viivitusi (ZGC kasutamisel ei \u00fcleta peatamise aeg 10 ms) ja suudab t\u00f6\u00f6tada nii v\u00e4ikeste kui ka tohutute m\u00e4gedega, mille suurus on paarisaja megabaiti kuni paljude terabaitideni.\n<li class=\"l\"> Stabiliseeriti ja tunnustati laialdaseks kasutamiseks valmis<br \/>\n pr\u00fcgikorjaja <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, mis t\u00f6\u00f6tab minimaalsete peatustega (Low-Pause-Time Garbage Collector). Shenandoah on v\u00e4lja t\u00f6\u00f6tatud ettev\u00f5tte Red Hat poolt ja on tuntud oma algoritmi poolest, mis v\u00e4hendab pr\u00fcgikorja peatamisaegu, tehes koristust\u00f6id paralleelselt Java rakenduste k\u00e4ivitamisega. Pr\u00fcgikorja p\u00f5hjustatud viivituste suurus on ettearvatav ja ei s\u00f5ltu m\u00e4e suurusest, st 200 MB ja 200 GB m\u00e4gede puhul on viivitused identsed (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">ei \u00fcleta<\/a><\/noindex> 50 ms ja tavaliselt j\u00e4\u00e4vad 10 ms sisse);<\/p>\n<li class=\"l\"> Stabiliseeritud ja keelesse on sisse viidud tugi <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">tekstiblokkide jaoks<\/a><\/noindex> &#8212; uued stringi kirjanduse vormid, mis v\u00f5imaldavad lisada allika koodis mitmerealisi tekstilisi andmeid ilma s\u00fcmbolite varjamise kasutamiseta ning s\u00e4ilitada algse teksti vormindamise plokis. Ploki piire tuleb kolme topelt jutum\u00e4rgiga.\n<p>N\u00e4iteks, koodi asemel<\/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 on kohal!&#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>saab m\u00e4\u00e4rata:<\/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 on kohal!&#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\">Uuendatud<\/a><\/noindex> API Legacy DatagramSocket. Vanad teostused java.net.DatagramSocket ja java.net.MulticastSocket on asendatud t\u00e4nap\u00e4eva teostusega, mis on kergemini silutav ja hooldatav ning \u00fchilduv virtuaalsete voogudega, mis on arenduses projektis <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. K\u00f5ik muu, mis v\u00f5ib p\u00f5hjustada \u00fchilduvuse katkemist olemasolevaga, ei ole vana teostust eemaldatud ning see saab aktiveerida valiku jdk.net.usePlainDatagramSocketImpl abil.\n<li class=\"l\"> Pakutud on teine eksperimentaalne teostus <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">mustri vastavuse<\/a><\/noindex> &#171;instanceof&#187; operaatoris, mis v\u00f5imaldab koheselt m\u00e4\u00e4rata kohaliku muutuja kontrollitud v\u00e4\u00e4rtusele viitamiseks. N\u00e4iteks saab kirjutada &#171;if (obj instanceof String s &#038;&#038; s.length() &gt; 5) {.. s.contains(..) ..}&#187; ilma &#171;String s = (String) obj&#187; selge m\u00e4\u00e4ratlemiseta.\n<p>Oli:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>N\u00fc\u00fcd saab ilma m\u00e4\u00e4ratlemise &#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\">Pakutud on<\/a><\/noindex> teine eksperimentaalne rakendus m\u00e4rks\u00f5na &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>&#171;, mis pakub kompaktset vormi klasside m\u00e4\u00e4ratlemiseks, v\u00f5imaldades v\u00e4ltida erinevate madala taseme meetodite, nagu equals(), hashCode() ja toString(), selget m\u00e4\u00e4ratlemist olukordades, kus andmed salvestatakse ainult v\u00e4ljadena, mille t\u00f6\u00f6 k\u00e4itumine ei muutu. Kui klassis kasutatakse t\u00fc\u00fcbip\u00f5hiseid meetodite equals(), hashCode() ja toString() rakendusi, saab nendes ilma nende selge m\u00e4\u00e4ratlemiseta hakkama:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>See m\u00e4\u00e4ratlemine toob automaatselt kaasa meetodite equals(), hashCode() ja toString() teostuste lisamise koos konstruktoriga ja meetoditega, mis kontrollivad andmete muutmist (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Pakutud<\/a><\/noindex> teine eelnev versioon API Foreign-Memory Access, mis v\u00f5imaldab Java rakendustel ohutult ja t\u00f5husalt p\u00e4\u00e4seda m\u00e4lupiirkondadele v\u00e4ljaspool Java kuhi, manipuleerides uute abstraktsioonidega MemorySegment, MemoryAddress ja MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">K\u00e4ivitatud<\/a><\/noindex> ja on kuulutatud vananenud tehnikaks Biased Locking, mida kasutati HotSpot JVM-is lukustamise \u00fcleolekute v\u00e4hendamiseks. See tehnika on t\u00e4nap\u00e4eva CPU-de pakutavate aatominstruktsioonide t\u00f5ttu kaotanud oma t\u00e4htsuse ja on oma keerukuse t\u00f5ttu liiga t\u00f6\u00f6mahukas hooldamiseks.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Kuulutatud<\/a><\/noindex> vananenud mehhanism <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, mis eemaldatakse \u00fches j\u00e4rgmistest v\u00e4ljaannetest. T\u00e4heldatakse, et RMI Activation on vananenud, kuulutati valikuks juba Java 8-s ja praktiliselt ei kasutata t\u00e4nap\u00e4evases praktikas.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Eemaldatud<\/a><\/noindex>  JavaScript mootori <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, mis kuulutati vananenuks Java SE 11-s.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Eemaldatud<\/a><\/noindex> sadamad Solaris operatsioonis\u00fcsteemi ja SPARC protsessorite jaoks (Solaris\/SPARC, Solaris\/x64 ja Linux\/SPARC). Nende sadamate eemaldamine v\u00f5imaldab kogukonnal kiirendada uute v\u00f5imaluste arendamist OpenJDK, kulutamata aega Solaris ja SPARC-spetsiifiliste omaduste hooldamiseks.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Allikas: <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.1.1 - 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\/et\/blog\/news\/vypusk-java-se-15\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Java SE 15 v\u00e4ljaanne | ProHoster","description":"P\u00e4rast kuue kuu arendust\u00f6\u00f6de l\u00f5petamist avaldas Oracle platvormi","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}