{"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\/sq\/blog\/news\/vypusk-java-se-15","title":{"rendered":"L\u00ebshimi i Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pas gjasht\u00eb muajsh zhvillimi, kompania Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">ka lan\u00e7uar<\/a><\/noindex> platform\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\">Java SE 15<\/a><\/noindex> (Java Platform, Standard Edition 15), e cila p\u00ebrdor projektin e hapur OpenJDK si implementimin referenc\u00eb. N\u00eb Java SE 15 ruhet p\u00ebrputhshm\u00ebria e prapme me versionet e m\u00ebparshme t\u00eb platform\u00ebs Java, t\u00eb gjitha projektet Java t\u00eb shkruara m\u00eb par\u00eb do t\u00eb funksionojn\u00eb pa ndryshime kur ekzekutohen n\u00ebn menaxhimin e versionit t\u00eb ri. Nd\u00ebrtojn\u00eb p\u00ebr instalim Java SE 15 (JDK, JRE dhe Server JRE) <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">jan\u00eb p\u00ebrgatitur<\/a><\/noindex> p\u00ebr Linux (x86_64), Windows dhe macOS. Implementimi referenc\u00eb i zhvilluar n\u00eb kuad\u00ebr t\u00eb projektit OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> \u00ebsht\u00eb plot\u00ebsisht i hapur n\u00ebn licenc\u00ebn GPLv2 me p\u00ebrjashtime t\u00eb GNU ClassPath, q\u00eb lejojn\u00eb lidhjen dinamike me produkte komerciale. <\/p>\n<p>Java SE 15 klasifikohet si nj\u00eb l\u00ebshim me periudh\u00eb t\u00eb zakonshme mb\u00ebshtetjeje, p\u00ebrdit\u00ebsimet p\u00ebr t\u00eb do t\u00eb l\u00ebshohen deri n\u00eb l\u00ebshimin e ardhsh\u00ebm. Si deg\u00eb me periudh\u00eb t\u00eb gjat\u00eb mb\u00ebshtetje (LTS) duhet t\u00eb p\u00ebrdoret Java SE 11, p\u00ebrdit\u00ebsimet p\u00ebr t\u00eb do t\u00eb l\u00ebshohen deri n\u00eb vitin 2026. Deg\u00eb e kaluar LTS e Java 8 do t\u00eb mb\u00ebshtetet deri n\u00eb dhjetor 2020. L\u00ebshimi i ardhsh\u00ebm LTS pritet t\u00eb ndodh\u00eb n\u00eb shtator 2021. Kujtojm\u00eb se duke filluar nga l\u00ebshimi i Java 10, projekti kaloi n\u00eb nj\u00eb proces t\u00eb ri zhvillimi, q\u00eb parashikon nj\u00eb cik\u00ebl m\u00eb t\u00eb shkurt\u00ebr formimi t\u00eb l\u00ebshimeve t\u00eb reja. Funksionaliteti i ri tani zhvillohet n\u00eb nj\u00eb deg\u00eb master q\u00eb p\u00ebrdit\u00ebsohet vazhdimisht, n\u00eb t\u00eb cil\u00ebn p\u00ebrfshihen ndryshime tashm\u00eb t\u00eb gatshme dhe nga e cila p\u00ebr \u00e7do gjasht\u00eb muaj ndahen dega p\u00ebr stabilizimin e l\u00ebshimeve t\u00eb reja. <\/p>\n<p>Nga <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">novitete<\/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\">mund t\u00eb<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">sh\u00ebnohen<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">I nd\u00ebrtuar n\u00eb<\/a><\/noindex> mb\u00ebshtetje p\u00ebr algoritmin e krijimit t\u00eb n\u00ebnshkrimit digjital EdDSA (Algoritmi i N\u00ebnshkrimit Digjital t\u00eb Kurv\u00ebs s\u00eb Edwards  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). Implementimi i propozuar i EdDSA nuk \u00ebsht\u00eb i varur nga platforma harduese, \u00ebsht\u00eb i mbrojtur nga sulmet e kanaleve an\u00ebsore (sigurohet koha e p\u00ebrhershme e t\u00eb gjitha llogaritjeve) dhe \u00ebsht\u00eb m\u00eb efikas se implementimi ekzistues i ECDSA, i shkruar n\u00eb gjuh\u00ebn C, me t\u00eb nj\u00ebjtin nivel mbrojtjeje. P\u00ebr shembuj, EdDSA me p\u00ebrdorimin e nj\u00eb kurve eliptike me \u00e7el\u00ebs 126-bit tregon performanc\u00ebn e ngjashme me ECDSA me kurv\u00ebn eliptike secp256r1 dhe \u00e7el\u00ebsin 128-bit.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Shtuar<\/a><\/noindex> mb\u00ebshtetje eksperimentale p\u00ebr klasat dhe interface-t e mbyllura (\u00absealed\u00bb), t\u00eb cilat nuk mund t\u00eb p\u00ebrdoren nga klasat dhe interface-t e tjera p\u00ebr trash\u00ebgimi, zgjerim ose tepric\u00eb t\u00eb realizimit. Klasat e mbyllura gjithashtu ofrojn\u00eb nj\u00eb m\u00ebnyr\u00eb m\u00eb deklarative p\u00ebr t\u00eb kufizuar p\u00ebrdorimin e superklas\u00ebs, sesa modifikuesit e qasjes, duke u bazuar n\u00eb nj\u00eb list\u00eb eksplicite t\u00eb n\u00ebnklasave t\u00eb lejuara p\u00ebr zgjerim.\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 {...}<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/371\">Shtuar<\/a><\/noindex> mb\u00ebshtetje p\u00ebr klasat e fshehta, t\u00eb cilat nuk mund t\u00eb p\u00ebrdoren drejtp\u00ebrdrejt nga kodet e tjera t\u00eb klasave. Q\u00ebllimi kryesor i klasave t\u00eb fshehta \u00ebsht\u00eb p\u00ebrdorimi i tyre n\u00eb kuad\u00ebr, q\u00eb gjeneron dinamik klasa gjat\u00eb ekzekutimit dhe i p\u00ebrdor ato n\u00eb m\u00ebnyr\u00eb indirekte, p\u00ebrmes <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)\">reflektimit.<\/a><\/noindex>K\u00ebto klasa zakonisht kan\u00eb nj\u00eb cik\u00ebl jetese t\u00eb kufizuar, prandaj mbajtja e tyre p\u00ebr qasje nga klasat q\u00eb jan\u00eb gjeneruar statikisht nuk \u00ebsht\u00eb e arsyeshme dhe do t\u00eb shkaktonte vet\u00ebm rritje t\u00eb konsumit t\u00eb memories. Klasa t\u00eb fshehta gjithashtu lejojn\u00eb q\u00eb t\u00eb anashkalohen API-t\u00eb jo standarde sun.misc.Unsafe::defineAnonymousClass, e cila \u00ebsht\u00eb planifikuar p\u00ebr t'u hequr n\u00eb t\u00eb ardhmen.\n<li class=\"l\"> Garbage collector ZGC (Z Garbage Collector) \u00ebsht\u00eb stabilizuar dhe njohur si i gatsh\u00ebm p\u00ebr p\u00ebrdorim t\u00eb gjer\u00eb. ZGC punon n\u00eb m\u00ebnyr\u00eb pasive, duke minimizuar sa m\u00eb shum\u00eb q\u00eb \u00ebsht\u00eb e mundur vonesat p\u00ebr shkak t\u00eb mbledhjes s\u00eb mbeturinave (koha e ndalimeve gjat\u00eb p\u00ebrdorimit t\u00eb ZGC nuk kalon 10 ms) dhe mund t\u00eb funksionoj\u00eb si me grumbuj t\u00eb vegj\u00ebl ashtu edhe me grumbuj t\u00eb m\u00ebdhenj, nga disa qindra megabajt deri n\u00eb shum\u00eb terabajt.\n<li class=\"l\"> Stabilizuar dhe njohur si i gatsh\u00ebm p\u00ebr p\u00ebrdorim t\u00eb gjer\u00eb<br \/>\n mbledh\u00ebsi i mbeturinave <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, q\u00eb funksionon me nj\u00eb ndales\u00eb minimale (Low-Pause-Time Garbage Collector). Shenandoah \u00ebsht\u00eb zhvilluar nga Red Hat dhe \u00ebsht\u00eb i njohur p\u00ebr p\u00ebrdorimin e nj\u00eb algoritmi q\u00eb redukton koh\u00ebn e ndalimeve gjat\u00eb mbledhjes s\u00eb mbeturinave duke kryer pastrimin paralelisht me ekzekutimin e aplikacioneve Java. Madh\u00ebsia e vonesave t\u00eb shkaktuara nga mbledh\u00ebsi i mbeturinave \u00ebsht\u00eb e parashikueshme dhe nuk varet nga madh\u00ebsia e grumbujve, dmth. p\u00ebr grumbuj prej 200 MB dhe 200 GB, vonesat do t\u00eb jen\u00eb t\u00eb nj\u00ebjta (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">nuk kalojn\u00eb<\/a><\/noindex> 50 ms dhe zakonisht mbeten n\u00eb 10 ms);<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">blloqet tekstore \u00ebsht\u00eb stabilizuar dhe futur n\u00eb gjuh\u00eb<\/a><\/noindex> \u2014 nj\u00eb form\u00eb e re e literal\u00ebve t\u00eb vargjeve, q\u00eb lejon p\u00ebrfshirjen e t\u00eb dh\u00ebnave t\u00eb tekstit shum\u00eb-rreshtor n\u00eb kodin burimor pa p\u00ebrdorimin e dyt\u00eb p\u00ebr karakteret dhe duke ruajtur formatimin origjinal t\u00eb tekstit n\u00eb bllok. Kufizimi i bllokut realizohet me tre cita t\u00eb dyfishta.\n<p>P\u00ebr shembull, n\u00eb vend t\u00eb kodit<\/p>\n<p>   String html = \"\" +<br \/>\n   \"\\n\\t\" + \"\" +<br \/>\n   \"\\n\\t\\t\" + \"<h1>Java 15 is here!<\/h1>\" +<br \/>\n   \"\\n\\t\" + \"\" +<br \/>\n   \"\\n\" + \"\";<\/p>\n<p>mund t\u00eb specifikohet:<\/p>\n<p>   String html = \"\"<br \/>\n   &lt;HTML&gt;<br \/>\n     &lt;BODY&gt;<br \/>\n       <h1>\"Java 15\\\"<br \/>\n is here!\"<\/h1><br \/>\n     &lt;\/BODY&gt;<br \/>\n   \"\";<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">Rishikuar<\/a><\/noindex> API Legacy DatagramSocket. Implementimet e vjetra java.net.DatagramSocket dhe java.net.MulticastSocket jan\u00eb z\u00ebvend\u00ebsuar me nj\u00eb implementim modern, m\u00eb t\u00eb leht\u00eb p\u00ebr debug dhe mir\u00ebmbajtje, si dhe t\u00eb p\u00ebrputhsh\u00ebm me flukset virtuale q\u00eb zhvillohen si pjes\u00eb e projektit <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. N\u00eb rast t\u00eb mundshme t\u00eb shkeljes s\u00eb p\u00ebrputhshm\u00ebris\u00eb me kodin ekzistues, implementimi i vjet\u00ebr nuk \u00ebsht\u00eb eliminuar dhe mund t\u00eb aktivizohet p\u00ebrmes opsionit jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> Propozohet nj\u00eb implementim eksperimental i dyt\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">t\u00eb p\u00ebrputhshm\u00ebris\u00eb me modelin<\/a><\/noindex> n\u00eb operatorin \"instanceof\", i cili lejon p\u00ebrcaktimin e menj\u00ebhersh\u00ebm t\u00eb nj\u00eb variabli lokal p\u00ebr qasjen n\u00eb vler\u00ebn e verifikuar. P\u00ebr shembull, mund t\u00eb shkruani menj\u00ebher\u00eb \"if (obj instanceof String s &amp;&amp; s.length() &gt; 5) {... s.contains(...)}\" pa p\u00ebrcaktimin eksplicit \"String s = (String) obj\".\n<p>Ishte:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Tani mund t\u00eb shmangim p\u00ebrcaktimin \"Group group = (Group) obj\":<\/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\">Propozohet<\/a><\/noindex> implementimi i dyt\u00eb eksperimental i fjal\u00ebs ky\u00e7e \"<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>\", q\u00eb ofron nj\u00eb form\u00eb kompakte p\u00ebr t\u00eb p\u00ebrcaktuar klasat, duke shmangur p\u00ebrcaktimin eksplicit t\u00eb metodave t\u00eb ndryshme t\u00eb nivelit t\u00eb ul\u00ebt, si equals(), hashCode() dhe toString(), n\u00eb raste kur t\u00eb dh\u00ebnat ruhen vet\u00ebm n\u00eb fusha, sjellja e pun\u00ebs me t\u00eb cilat nuk ndryshon. Kur n\u00eb klas\u00eb p\u00ebrdoren implementimet tipike t\u00eb metodave equals(), hashCode() dhe toString(), mund t\u00eb shmanget p\u00ebrcaktimi i tyre eksplicit:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Kjo deklarat\u00eb do t\u00eb \u00e7oj\u00eb n\u00eb shtimin automatik t\u00eb implementimeve t\u00eb metodave equals(), hashCode() dhe toString() p\u00ebrve\u00e7 konstruktorit dhe metodave q\u00eb kontrollojn\u00eb ndryshimin e t\u00eb dh\u00ebnave (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Propozohet<\/a><\/noindex> versioni e par\u00eb e API Foreign-Memory Access, q\u00eb lejon aplikacionet Java t\u00eb ken\u00eb nj\u00eb qasje t\u00eb sigurt dhe efektive n\u00eb fushat e memories jasht\u00eb heap-it Java, duke manipuluar abstraksionet e reja MemorySegment, MemoryAddress dhe MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">\u00c7aktivizuar<\/a><\/noindex> dhe e shpallur obsolet\u00eb teknika e optimizimit Biased Locking, e p\u00ebrdorur n\u00eb HotSpot JVM p\u00ebr t\u00eb zvog\u00ebluar kostot e bllokimeve. Kjo teknik\u00eb ka humbur relevanc\u00ebn n\u00eb sistemet me instruksione atomike, t\u00eb ofruara nga CPU moderne, dhe \u00ebsht\u00eb tep\u00ebr e komplikuar p\u00ebr t'u mbajtur p\u00ebr shkak t\u00eb kompleksitetit t\u00eb saj.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">E shpallur<\/a><\/noindex> obsolet <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, e cila do t\u00eb hiqet n\u00eb nj\u00eb nga l\u00ebshimet e ardhshme. V\u00ebrehet se RMI Activation \u00ebsht\u00eb b\u00ebr\u00eb obsolet, e transferuar n\u00eb kategorin\u00eb e opsioneve q\u00eb nga Java 8 dhe nuk p\u00ebrdoret gati fare n\u00eb praktik\u00ebn moderne.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Eliminuar<\/a><\/noindex>  motorin JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, i cili u shpall obsolet n\u00eb Java SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Eliminuar<\/a><\/noindex> portet p\u00ebr OS Solaris dhe procesor\u00ebt SPARC (Solaris\/SPARC, Solaris\/x64 dhe Linux\/SPARC). Eliminimi i k\u00ebtyre porteve do t'i lejoj\u00eb komunitetit t\u00eb p\u00ebrshpejtoj\u00eb zhvillimin e mund\u00ebsive t\u00eb reja OpenJDK, pa humbur koh\u00eb n\u00eb mbajtjen e ve\u00e7orive specifike p\u00ebr Solaris dhe SPARC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Burimi: <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\/sq\/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=\"sq_AL\" \/>\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\/sq\/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\udd47L\u00ebshimi Java SE 15 | ProHoster","description":"Pas gjasht\u00eb muajve zhvillimi, kompania Oracle l\u00ebshoi platform\u00ebn","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}