{"id":103599,"date":"2022-03-23T15:37:14","date_gmt":"2022-03-23T13:37:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-java-se-18"},"modified":"2022-03-23T15:37:14","modified_gmt":"2022-03-23T13:37:14","slug":"vypusk-java-se-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Java SE 18 v\u00e4ljaanne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00e4rast kuue kuu arendust vabastas ettev\u00f5te Oracle platvormi Java SE 18 (Java Platform, Standard Edition 18), mille referentsrealisatsiooniks on avatud projekti OpenJDK. V\u00e4lja arvatud m\u00f5ned vananenud funktsioonide eemaldamine, s\u00e4ilitab Java SE 18 tagurpidi \u00fchilduvuse varasemate Java versioonidega \u2014 enamik varem kirjutatud Java-projekte t\u00f6\u00f6tavad probleemideta uue versiooni all. Paigaldamiseks valmis Java SE 18 (JDK, JRE ja Server JRE) versioonid on ette valmistatud Linuxile (x86_64, AArch64), Windowsile (x86_64) ja macOS-le (x86_64, AArch64). OpenJDK projekti k\u00e4igus v\u00e4lja t\u00f6\u00f6tatud Java 18 referentsrealisatsioon on t\u00e4ielikult avatud GPLv2 litsentsi alla, koos GNU ClassPathi eranditega, mis lubavad d\u00fcnaamilist sidumist kommertsproduktidega.     <\/p>\n<p>Java SE 18 kuulub tavalise tugiperioodiga v\u00e4ljavalde kategorisse, mille v\u00e4rskendusi antakse v\u00e4lja kuni j\u00e4rgmise versiooni ilmumiseni. Pikaajalise toetuse (LTS) haru saamiseks tuleks kasutada Java SE 17, mille v\u00e4rskendusi antakse v\u00e4lja kuni 2029. aastani. Tuletame meelde, et alates Java 10 v\u00e4ljalaskest on projekt liikunud uue arendusprotsessi poole, mis h\u00f5lmab l\u00fchemaid uute versioonide v\u00e4ljalaskets\u00fckleid. Uus funktsionaalsus areneb n\u00fc\u00fcd pidevalt uuendatavas master-harus, kuhu lisatakse juba valmis muudatused ja millest hargnevad iga kuue kuu tagant harud uute versioonide stabiliseerimiseks.     <\/p>\n<p>Java 18 uuendustest v\u00f5ib v\u00e4lja tuua:  <\/p>\n<ul>\n<li class=\"l\"> Vaikimisi on kasutusel UTF-8 kodeering. Java API-de, mis t\u00f6\u00f6tlevad tekstilisi andmeid arvestades m\u00e4rgit\u00fc\u00fcpide kodeeringut, hakkavad n\u00fc\u00fcd vaikimisi kasutama UTF-8 k\u00f5igil platvormidel, s\u00f5ltumata s\u00fcsteemi seadistustest ja valitud keelest. Vanade seadete taastamiseks, kus kodeering valitakse s\u00fcsteemikeele alusel, saab kasutada parameetrit \u2018-Dfile.encoding=COMPAT\u2019.\n<li class=\"l\"> Komplekti kuulub paketis com.sun.net.httpserver utiliit jwebserver ja raamatukogude API, mis sisaldab lihtsat http-serverit staatilise sisu edastamiseks (CGI ja servlet-sarnaseid t\u00f6\u00f6tlejaid ei toetata). Sisseehitatud http-server ei ole optimeeritud t\u00f6\u00f6koormuseks ning ei toeta juurdep\u00e4\u00e4suhaldust ja autentimist, kuna see on peamiselt suunatud arendusprotsessis protot\u00fc\u00fcpide loomiseks, t\u00f5rkeotsimiseks ja projektide testimiseks.\n<li class=\"l\"> JavaDocis on rakendatud @snippet sildi tuge, mis v\u00f5imaldab integreerida t\u00f6\u00f6proove ja koodifragmente API dokumentatsiooni, millega saab rakendada t\u00f6\u00f6riistu, mis kontrollivad \u00f5igsust, s\u00fcntaksi esilet\u00f5stmist ja IDE-dega integreerimist.\n<li class=\"l\"> API java.lang.reflect (Core Reflection) rakenduse on \u00fcmber tehtud, et saada teavet klasside meetodite, v\u00e4ljade ja konstruktorite kohta ning ligip\u00e4\u00e4suks klasside sisemistele struktuuridele. API java.lang.reflect j\u00e4\u00e4b samaks, kuid n\u00fc\u00fcd on see realiseeritud meetodite deskriptorite (method handles) kasutamise kaudu, mida pakub java.lang.invoke moodul, selle asemel et kasutada bytecode generaatorit. See muudatus v\u00f5imaldas standardiseerida java.lang.reflect ja java.lang.invoke rakenduste ning lihtsustada nende hooldust.\n<li class=\"l\"> Pakkus v\u00e4lja kolmanda esialgse rakenduse API Vector jaoks, mis pakub funktsioone vektorkalkulatsioonide jaoks, mis teostatakse x86_64 ja AArch64 protsessorite vektoriinstruktsioonide abil ning v\u00f5imaldavad samaaegselt rakendada toiminguid mitmele v\u00e4\u00e4rtusele (SIMD). Erinevalt JIT-kompilaatori HotSpot pakutud skalaarsest operatsioonide automaatvektoriseerimisest annab uus API v\u00f5imaluse selgelt hallata vektorkalkulatsioonide kasutamist andmete paralleelseks t\u00f6\u00f6tlemiseks.\n<li class=\"l\"> Lisatud SPI-liides (service-provider interface) hostide nimede resolvimiseks ja <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/lir\/ipv4\/\"   title=\"IP-aadresse\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">IP-aadresse<\/a>, v\u00f5imaldades kasutada java.net.InetAddress alternatiivseid resolvereid, mis ei ole seotud operatsioonis\u00fcsteemi poolt pakutud t\u00f6\u00f6tlejatega.\n<li class=\"l\"> Esitati teine eelneva versiooni rakendus API Foreign Function &amp; Memory, mille abil saavad rakendused suhelda koodi ja andmetega, mis asuvad v\u00e4ljaspool Java runtime'i. Uus API v\u00f5imaldab t\u00f5husalt kutsuda v\u00e4liseid funktsioone, mis ei toimu JVM-is, ning p\u00e4\u00e4seda ligi JVM-i mittehallatavale m\u00e4lu. N\u00e4iteks saab kutsuda \u0444\u0443\u043d\u043a\u0446\u0438\u0438 v\u00e4liste jagatud teekidest ja saada juurde protsessi andmetele ilma JNI kasutamiseta.\n<li class=\"l\"> Lisatud teine eksperimenteerne rakendus pattern matching, mis on seotud switch lausetega, mis v\u00f5imaldab case siltides kasutada mitte t\u00e4pseid v\u00e4\u00e4rtusi, vaid paindlikke mustreid, mis katab kohe terve rea v\u00e4\u00e4rtusi, mille jaoks varem tuli kasutada mahukaid if...else v\u00e4ljendeid.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format('int %d', i);         case Long l    -&gt; String.format('long %d', l);         case Double d  -&gt; String.format('double %f', d);         case String s  -&gt; String.format('String %s', s);         default        -&gt; o.toString();     };\n<li class=\"l\"> K\u00e4ivitusmechanism, mis on m\u00e4\u00e4ratud vananemise ja eemaldamisele \u00fches j\u00e4rgmistest v\u00e4ljaannetest koos sellega seotud meetoditega, n\u00e4iteks Object.finalize(), Enum.finalize(), Runtime.runFinalization() ja System.runFinalization(), kuulutati v\u00e4lja vananenuks.\n<li class=\"l\"> ZGC (Z Garbage Collector), SerialGC ja ParallelGC pr\u00fcgikoristajates on rakendatud stringide dedupeerimise tugi.    <\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56899\">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 18 (Java Platform, Standard Edition 18), \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. \u0417\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 Java SE 18 \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 &#8212; \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0430\u043d\u0435\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 Java-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \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 [&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-103599","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.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 Java SE 18 (Java Platform, Standard Edition 18), \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.\" \/>\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-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.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 18 | 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 Java SE 18 (Java Platform, Standard Edition 18), \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-java-se-18\" \/>\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=\"2022-03-23T13:37:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-03-23T13:37:14+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 Java SE 18 v\u00e4ljaanne | ProHoster","description":"P\u00e4rast kuut kuud arendust\u00f6\u00f6d k\u00e4ivitas Oracle Java SE 18 (Java platvorm, standardversioon 18), mille etalonrakenduseks on avatud projekt OpenJDK.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-java-se-18","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 18 | 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 Java SE 18 (Java Platform, Standard Edition 18), \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.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/vypusk-java-se-18","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":"2022-03-23T13:37:14+00:00","article:modified_time":"2022-03-23T13:37:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"103599","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":"default","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":"2022-03-23 13:38:15","updated":"2026-02-08 20:40:19","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\/103599","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=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}