{"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\/hr\/blog\/news\/vypusk-java-se-15","title":{"rendered":"Izdanje Java SE 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Nakon \u0161est mjeseci razvoja, tvrtka Oracle <noindex><a rel=\"nofollow\" href=\"http:\/\/mail.openjdk.java.net\/pipermail\/announce\/2020-September\/000291.html\">izdala<\/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), \u010dija je referentna implementacija otvoreni projekt OpenJDK. U Java SE 15 zadr\u017eana je unazad kompatibilnost s prethodnim izdanjima platforme Java, svi prethodno napisani Java projekti \u0107e raditi bez izmjena na novoj verziji. Dostupne su verzije Java SE 15 (JDK, JRE i Server JRE) za instalaciju. <noindex><a rel=\"nofollow\" href=\"http:\/\/jdk.java.net\/15\">pripremljeni<\/a><\/noindex> za Linux (x86_64), Windows i macOS. Referentna implementacija razvijena u okviru projekta OpenJDK <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/jdk\/15\/\">Java 15<\/a><\/noindex> je potpuno otvorena pod GPLv2 licencom s iznimkama GNU ClassPath, koje omogu\u0107uju dinami\u010dko povezivanje s komercijalnim proizvodima. <\/p>\n<p>Java SE 15 spada u kategoriju izdanja s redovnom podr\u0161kom, a a\u017euriranja \u0107e se izdavati do sljede\u0107e verzije. Kao verziju s dugotrajnom podr\u0161kom (LTS) treba koristiti Java SE 11, \u010dija \u0107e se a\u017euriranja izdavati do 2026. godine. Pro\u0161la LTS verzija Java 8 podr\u017eavat \u0107e se do prosinca 2020. godine. Sljede\u0107e LTS izdanje planirano je za rujan 2021. godine. Podsje\u0107amo, od izdanja Java 10 projekt je pre\u0161ao na novi proces razvoja, koji obuhva\u0107a kra\u0107i ciklus izdavanja novih verzija. Nova funkcionalnost sada se razvija u jednoj neprekidno a\u017euriranoj master grani, u koju se uklju\u010duju ve\u0107 gotove promjene i od koje se svaka \u0161est mjeseci odvaja grana za stabilizaciju novih izdanja. <\/p>\n<p>Od <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\">mo\u017eete<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/javamagazine\/inside-java-15-fourteen-jeps-in-five-buckets\">da se spomenu<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/339\">Ugra\u0111ena<\/a><\/noindex> podr\u0161ka za algoritam digitalnog potpisivanja EdDSA (Edwards-Curve Digital Signature Algorithm  <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/rfc8032\">RFC 8032<\/a><\/noindex>). Predlo\u017eena implementacija EdDSA ne ovisi o hardverskim platformama, za\u0161ti\u0107ena je od napada putem bo\u010dnih kanala (osiguravaju\u0107i konstantno vrijeme svih izra\u010duna) i po performansama je superiornija od postoje\u0107e ECDSA implementacije napisane u programskom jeziku C, uz istu razinu za\u0161tite. Na primjer, EdDSA pri kori\u0161tenju elipti\u010dne krivulje sa 126-bitnim klju\u010dem pokazuje performanse sli\u010dne ECDSA s elipti\u010dnom krivuljom secp256r1 i 128-bitnim klju\u010dem.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/360\">Dodana<\/a><\/noindex> eksperimentalna podr\u0161ka za zatvorene (\u00absealed\u00bb) klase i su\u010delja koja se ne mogu koristiti od strane drugih klasa i su\u010delja za naslje\u0111ivanje, pro\u0161irenje ili nadja\u010davanje implementacije. Zatvorene klase tako\u0111er pru\u017eaju deklarativniji na\u010din ograni\u010davanja kori\u0161tenja nadklase od modifikatora pristupa, temeljenog na eksplicitnom navo\u0111enju podklasa koje su dopu\u0161tene za pro\u0161irenje.\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\">Dodana<\/a><\/noindex> podr\u0161ka za skrivene klase koje se ne mogu direktno koristiti od strane bajtkoda drugih klasa. Klju\u010dna svrha skrivenih klasa je kori\u0161tenje u okvirima koji dinami\u010dki generiraju klase za vrijeme izvo\u0111enja i koriste ih neizravno, kroz <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)\">refleksiju<\/a><\/noindex>. Takve klase obi\u010dno imaju ograni\u010den \u017eivotni ciklus, pa njihovo odr\u017eavanje za pristup iz stati\u010dki generiranih klasa nije opravdano i dovest \u0107e samo do pove\u0107ane potro\u0161nje memorije. Skrivene klase tako\u0111er omogu\u0107uju izbjegavanje kori\u0161tenja nestandardnog API-ja sun.misc.Unsafe::defineAnonymousClass, koji je predvi\u0111en za uklanjanje u budu\u0107nosti.\n<li class=\"l\"> Stabiliziran je i progla\u0161en spremnim za \u0161iroku upotrebu sakuplja\u010d sme\u0107a ZGC (Z Garbage Collector). ZGC radi u pasivnom re\u017eimu, koliko je to mogu\u0107e, minimizira ka\u0161njenja zbog sakupljanja sme\u0107a (vrijeme stopa prilikom kori\u0161tenja ZGC ne prelazi 10 ms) i mo\u017ee raditi kako s malim, tako i s ogromnim hrpama, veli\u010dine od nekoliko stotina megabajta do nekoliko terabajta.\n<li class=\"l\"> Stabiliziran je i progla\u0161en spremnim za \u0161iroku upotrebu<br \/>\n sakuplja\u010d sme\u0107a <noindex><a rel=\"nofollow\" href=\"http:\/\/openjdk.java.net\/projects\/shenandoah\/\">Shenandoah<\/a><\/noindex>, koji radi s minimalnim pauzama (Low-Pause-Time Garbage Collector). Shenandoah je razvijen od strane Red Hata i karakterizira ga kori\u0161tenje algoritma koji smanjuje vrijeme pauza tijekom sakupljanja sme\u0107a provode\u0107i \u010di\u0161\u0107enje paralelno s izvo\u0111enjem Java aplikacija. Veli\u010dina ka\u0161njenja koja nastaje uslijed rada sakuplja\u010da sme\u0107a je predvidiva i ne ovisi o veli\u010dini hrpe, tj. za hrpe od 200 MB i 200 GB, ka\u0161njenja \u0107e biti identi\u010dna (<noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.openjdk.java.net\/display\/shenandoah\/Main\">ne prelaze<\/a><\/noindex> 50 ms i obi\u010dno se uklapaju u 10 ms);<\/p>\n<li class=\"l\"> Stabilizirana je i uvedena podr\u0161ka za jezik <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/378\">tekstualnim blokovima<\/a><\/noindex> \u2014 nova forma string literala koja omogu\u0107uje uklju\u010divanje vi\u0161elinijskih tekstualnih podataka u izvorni kod bez potrebe za escaped simbolima i zadr\u017eavaju\u0107i izvorno formatiranje teksta unutar bloka. Okvir bloka \u010dine tri dupla navodnika.\n<p>Na primjer, umjesto koda<\/p>\n<p>   String html = \"\" +<br \/>\n   \"\\n\\t\" + \"\" +<br \/>\n   \"\\n\\t\\t\" + \"<h1>Java 15 je ovdje!<\/h1>\" +<br \/>\n   \"\\n\\t\" + \"\" +<br \/>\n   \"\\n\" + \"\";<\/p>\n<p>mo\u017ee se napisati:<\/p>\n<p>   String html = \"\"<br \/>\n   \u201e&lt;HTML&gt;\u201d<br \/>\n     \u201e&lt;BODY&gt;\u201d<br \/>\n       <h1>\"Java 15\"<br \/>\n je ovdje!<\/h1><br \/>\n     \u201e&lt;\/BODY&gt;\u201d<br \/>\n   \";<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/373\">Revidirano<\/a><\/noindex> API Legacy DatagramSocket. Stare implementacije java.net.DatagramSocket i java.net.MulticastSocket, zamijenjene su modernom implementacijom, jednostavnijom za otklanjanje gre\u0161aka i odr\u017eavanje, kao i kompatibilnom s virtualnim vlaknima koja se razvijaju u okviru projekta <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/projects\/loom\">Loom<\/a><\/noindex>. U slu\u010daju mogu\u0107eg kr\u0161enja kompatibilnosti sa postoje\u0107im kodom, stara implementacija nije uklonjena i mo\u017ee se aktivirati pomo\u0107u opcije jdk.net.usePlainDatagramSocketImpl.\n<li class=\"l\"> Predlo\u017eena je druga eksperimentalna implementacija <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/375\">uskla\u0111ivanje s uzorkom<\/a><\/noindex> u operatoru \"instanceof\", koji omogu\u0107uje trenutno definiranje lokalne varijable za pristup provjerenoj vrijednosti. Na primjer, mo\u017ee se odmah napisati \"if (obj instanceof String s &amp;&amp; s.length() &gt; 5) {.. s.contains(..) ..}\" bez eksplicitnog definiranja \"String s = (String) obj\".\n<p>Bilo je:<\/p>\n<p>   if (obj instanceof Group) {<br \/>\n     Group group = (Group) obj;<br \/>\n     var entries = group.getEntries();<br \/>\n   }<\/p>\n<p>Sada se mo\u017ee izbje\u0107i definiranje \"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\">Ponu\u0111ena je<\/a><\/noindex> druga eksperimentalna implementacija klju\u010dne rije\u010di \"<noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/359\">record<\/a><\/noindex>\", koja pru\u017ea kompaktni oblik za definiranje klasa, omogu\u0107uju\u0107i izbjegavanje eksplicitnog definiranja raznih niskonivojnih metoda, kao \u0161to su equals(), hashCode() i toString(), u slu\u010dajevima kada se podaci \u010duvaju samo u poljima, \u010dije pona\u0161anje ne varira. Kada se u klasi koriste tipi\u010dne implementacije metoda equals(), hashCode() i toString(), u njoj se mo\u017ee izbje\u0107i njihovo eksplicitno definiranje:\n<p>   public record BankTransaction(LocalDate date,<br \/>\n                              double amount,<br \/>\n                              String description) {}<\/p>\n<p>Ova izjava omogu\u0107it \u0107e automatsko dodavanje implementacija metoda equals(), hashCode() i toString(), uz konstruktor i metode koje kontroliraju promjenu podataka (getter).<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/383\">Predlo\u017eeno<\/a><\/noindex> druga preliminarna verzija API-ja Foreign-Memory Access, koja omogu\u0107ava Java aplikacijama sigurnu i efikasnu uporabu podru\u010dja memorije izvan Java hrpe, manipuliraju\u0107i novim apstrakcijama MemorySegment, MemoryAddress i MemoryLayout.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/374\">Onemogu\u0107ena je<\/a><\/noindex> i progla\u0161ena je zastarjelom tehnika optimizacije Biased Locking, koja se koristila u HotSpot JVM za smanjenje tro\u0161kova uzrokovanih zaklju\u010davanjima. Ova tehnika je izgubila relevantnost na sustavima sa atomske instrukcije koje pru\u017eaju moderni CPU-i, a previ\u0161e je zahtjevna za odr\u017eavanje zbog svoje slo\u017eenosti.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/385\">Progla\u0161eno je<\/a><\/noindex> zastarjelim mehanizam <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.oracle.com\/en\/java\/javase\/14\/docs\/specs\/rmi\/activation.html\">RMI Activation<\/a><\/noindex>, koji \u0107e biti uklonjen u jednom od sljede\u0107ih izdanja. Napominje se da je RMI Activation postao zastario, preba\u010den u skup opcija jo\u0161 u Java 8 i gotovo se ne koristi u modernoj praksi.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/372\">Uklonjeno<\/a><\/noindex>  JavaScript motor <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35427\">Nashorn<\/a><\/noindex>, koji je progla\u0161en zastarjelim u Java SE 11.\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/openjdk.java.net\/jeps\/381\">Uklonjeno<\/a><\/noindex> portovi za OS Solaris i procesore SPARC (Solaris\/SPARC, Solaris\/x64 i Linux\/SPARC). Uklanjanje navedenih portova omogu\u0107it \u0107e zajednici da ubrza razvoj novih mogu\u0107nosti OpenJDK-a, ne tro\u0161e\u0107i vrijeme na odr\u017eavanje karakteristika specifi\u010dnih za Solaris i SPARC.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Izvor: <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.4 - 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\/hr\/blog\/news\/vypusk-java-se-15\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47 Izdanje Java SE 15 | ProHoster","description":"Nakon \u0161est mjeseci razvoja, tvrtka Oracle je objavila platformu","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/vypusk-java-se-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/94334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=94334"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/94334\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=94334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=94334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=94334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}