{"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\/ro\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Lansarea Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 \u0219ase luni de dezvoltare, compania Oracle a lansat platforma Java SE 18 (Java Platform, Standard Edition 18), a c\u0103rei implementare de referin\u021b\u0103 este proiectul OpenJDK, deschis. Cu excep\u021bia elimin\u0103rii unor func\u021bionalit\u0103\u021bi \u00eenvechite, Java SE 18 p\u0103streaz\u0103 compatibilitatea \u00eenapoi cu versiunile anterioare ale platformei Java \u2014 majoritatea proiectelor Java scrise anterior vor fi func\u021bionale f\u0103r\u0103 modific\u0103ri, atunci c\u00e2nd sunt rulate pe noua versiune. Pachetele gata de instalare Java SE 18 (JDK, JRE \u0219i Server JRE) sunt preg\u0103tite pentru Linux (x86_64, AArch64), Windows (x86_64) \u0219i macOS (x86_64, AArch64). Implementarea de referin\u021b\u0103 Java 18, dezvoltat\u0103 \u00een cadrul proiectului OpenJDK, este complet deschis\u0103 sub licen\u021ba GPLv2 cu excep\u021biile GNU ClassPath, care permit legarea dinamic\u0103 cu produsele comerciale.     <\/p>\n<p>Java SE 18 este clasificat ca o versiune cu suport obi\u0219nuit, actualiz\u0103rile fiind lansate p\u00e2n\u0103 la urm\u0103toarea versiune. Pentru un suport pe termen lung (LTS), este recomandat s\u0103 se utilizeze Java SE 17, actualiz\u0103rile pentru care vor fi lansate p\u00e2n\u0103 \u00een 2029. Reamintim c\u0103, \u00eencep\u00e2nd cu lansarea Java 10, proiectul a trecut la un nou proces de dezvoltare, care implic\u0103 un ciclu mai scurt de lansare a noilor versiuni. Func\u021bionalit\u0103\u021bile noi sunt acum dezvoltate \u00eentr-o ramur\u0103 principal\u0103 constant actualizat\u0103, \u00een care sunt incluse modific\u0103rile deja finalizate, iar care se ramific\u0103 la fiecare \u0219ase luni pentru stabilizarea noilor versiuni.     <\/p>\n<p>Printre nout\u0103\u021bile din Java 18 se num\u0103r\u0103:  <\/p>\n<ul>\n<li class=\"l\"> Implicit, este utilizat\u0103 codarea UTF-8. API-urile Java care proceseaz\u0103 date textuale \u00een conformitate cu codarea caracterelor vor utiliza acum UTF-8 \u00een mod implicit pe toate platformele, indiferent de set\u0103rile sistemului \u0219i localizarea stabilit\u0103. Pentru a reveni la comportamentul anterior, \u00een care codarea este selectat\u0103 conform localiz\u0103rii de sistem, se poate folosi parametrul \u00ab-Dfile.encoding=COMPAT\u00bb.\n<li class=\"l\"> Pachetul com.sun.net.httpserver este inclus, care con\u021bine utilitarul jwebserver \u0219i o API de bibliotec\u0103 cu implementarea unui server http simplu pentru livrarea de con\u021binut static (CGI \u0219i procesatoarele de tip servlet nu sunt suportate). Serverul http integrat nu este optimizat pentru sarcini de lucru \u0219i nu suport\u0103 controlul accesului \u0219i autentificarea, deoarece este destinat \u00een principal utiliz\u0103rii \u00een procesul de dezvoltare pentru crearea de prototipuri, depanare \u0219i testare a proiectelor.\n<li class=\"l\"> \u00cen JavaDoc a fost implementat suportul pentru eticheta \u00ab@snippet\u00bb pentru \u00eencorporarea exemplelor func\u021bionale \u0219i fragmentelor de cod \u00een documenta\u021bia API, la care se pot aplica instrumente pentru verificarea corectitudinii, iluminarea sintaxei \u0219i integrarea cu IDE.\n<li class=\"l\"> Implementarea API-ului java.lang.reflect (Reflectarea de baz\u0103) a fost ref\u0103cut\u0103, av\u00e2nd ca scop ob\u021binerea informa\u021biilor despre metode, c\u00e2mpuri \u0219i constructori ale claselor, precum \u0219i accesul la structura intern\u0103 a claselor. API-ul java.lang.reflect a r\u0103mas neschimbat, dar acum este implementat prin utilizarea descriptorilor de metode (method handles) furniza\u021bi de modulul java.lang.invoke, \u00een locul aplic\u0103rii generatorilor de bytecode. Aceast\u0103 modificare a permis unificarea implement\u0103rilor java.lang.reflect \u0219i java.lang.invoke, precum \u0219i simplificarea \u00eentre\u021binerii acestora.\n<li class=\"l\"> A fost propus\u0103 o a treia implementare preliminar\u0103 a API-ului Vector, care ofer\u0103 func\u021bii pentru calcule vectoriale, ce sunt efectuate utiliz\u00e2nd instruc\u021biuni vectoriale ale procesoarelor x86_64 \u0219i AArch64, permi\u021b\u00e2nd aplicarea simultan\u0103 a opera\u021biunilor pe mai multe valori (SIMD). Spre deosebire de posibilit\u0103\u021bile de auto-vectorizare a opera\u021biunilor scalare furnizate de compilatorul JIT HotSpot, noul API ofer\u0103 posibilitatea de a gestiona explicit vectorizarea pentru procesarea paralel\u0103 a datelor.\n<li class=\"l\"> A fost ad\u0103ugat un interfa\u021b\u0103 SPI (interfa\u021ba furnizorului de servicii) pentru rezolvarea numelui gazdelor \u0219i <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/lir\/ipv4\/\"   title=\"adreselor IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">adreselor IP<\/a>, permi\u021b\u00e2nd utilizarea de rezolvitori alternativi \u00een java.net.InetAddress, care nu sunt lega\u021bi de gestionarii oferi\u021bi de sistemul de operare.\n<li class=\"l\"> A fost propus\u0103 a doua implementare preliminar\u0103 a API-ului Foreign Function &amp; Memory, prin care aplica\u021biile pot interac\u021biona cu codul \u0219i datele aflate dincolo de mediul de execu\u021bie Java. Noua API permite apelarea eficient\u0103 a func\u021biilor care nu sunt executate \u00een JVM \u0219i accesarea memoriei care nu este gestionat\u0103 de JVM. De exemplu, pot fi apelate func\u021bii din biblioteci externe partajate \u0219i pot fi accesate datele procesului f\u0103r\u0103 a utiliza JNI.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 a doua implementare experimental\u0103 a map\u0103rii pe baz\u0103 de \u0219abloane \u00een expresiile \u00abswitch\u00bb, permi\u021b\u00e2nd utilizarea unor valori flexibile \u00een etichetele \u00abcase\u00bb, care acoper\u0103 o serie de valori, pentru care anterior erau necesare lan\u021buri voluminoase de expresii \u00abif\u2026else\u00bb.          Object o = 123L;     String formatted = switch (o) {         case Integer i -&gt; String.format(\u00abint %d\u00bb, i);         case Long l    -&gt; String.format(\u00ablong %d\u00bb, l);         case Double d  -&gt; String.format(\u00abdouble %f\u00bb, d);         case String s  -&gt; String.format(\u00abString %s\u00bb, s);         default        -&gt; o.toString();     };\n<li class=\"l\"> Mecanismul de finalizare a fost declarat \u00eenvechit \u0219i va fi dezactivat \u00eentr-una dintre urm\u0103toarele versiuni, \u00eempreun\u0103 cu metodele asociate, cum ar fi Object.finalize(), Enum.finalize(), Runtime.runFinalization() \u0219i System.runFinalization().\n<li class=\"l\"> Colectoarele de gunoi ZGC (Z Garbage Collector), SerialGC \u0219i ParallelGC au implementat suportul pentru deduplicarea \u0219irurilor.    <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56899\">opennet.ro<\/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.2.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\/ro\/blog\/news\/vypusk-java-se-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Lansare Java SE 18 | ProHoster","description":"Dup\u0103 \u0219ase luni de dezvoltare, compania Oracle a lansat platforma Java SE 18 (Java Platform, Standard Edition 18), care utilizeaz\u0103 proiectul deschis OpenJDK ca implementare de referin\u021b\u0103.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-java-se-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/103599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}