{"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\/it\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Rilascio di Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo sei mesi di sviluppo, Oracle ha rilasciato la piattaforma Java SE 18 (Java Platform, Standard Edition 18), utilizzando il progetto OpenJDK come implementazione di riferimento. Ad eccezione della rimozione di alcune funzionalit\u00e0 obsolete, Java SE 18 mantiene la compatibilit\u00e0 retroattiva con le versioni precedenti della piattaforma Java: la maggior parte dei progetti Java precedentemente scritti funzioner\u00e0 senza modifiche sulla nuova versione. Le build pronte per l'installazione di Java SE 18 (JDK, JRE e Server JRE) sono state preparate per Linux (x86_64, AArch64), Windows (x86_64) e macOS (x86_64, AArch64). L'implementazione di riferimento di Java 18, sviluppata nel contesto del progetto OpenJDK, \u00e8 completamente open source sotto la licenza GPLv2 con eccezioni GNU ClassPath che consentono il collegamento dinamico con prodotti commerciali.     <\/p>\n<p>Java SE 18 \u00e8 classificato come una release con normale ciclo di supporto, gli aggiornamenti per la quale saranno rilasciati fino al prossimo rilascio. Java SE 17 deve essere utilizzato come versione a lungo termine (LTS), con aggiornamenti previsti fino al 2029. Ricordiamo che a partire dal rilascio di Java 10 il progetto ha cambiato processo di sviluppo, con un ciclo di produzione di nuove release pi\u00f9 breve. La nuova funzionalit\u00e0 ora \u00e8 sviluppata in un'unica branch master sempre aggiornata, dalla quale vengono create branch per la stabilizzazione delle nuove release ogni sei mesi.     <\/p>\n<p>Tra le novit\u00e0 di Java 18 si possono segnalare:  <\/p>\n<ul>\n<li class=\"l\"> Per impostazione predefinita, viene utilizzata la codifica UTF-8. Le API Java che gestiscono i dati testuali tenendo conto della codifica dei caratteri utilizzeranno ora UTF-8 come predefinito su tutte le piattaforme, indipendentemente dalle impostazioni di sistema e dalla locale impostata. Per ripristinare il comportamento predefinito in cui la codifica \u00e8 selezionata in base alla locale di sistema, \u00e8 possibile utilizzare il parametro \u2018-Dfile.encoding=COMPAT\u2019.\n<li class=\"l\"> Il pacchetto com.sun.net.httpserver \u00e8 incluso, contenente l'utilit\u00e0 jwebserver e un'API di libreria con un'implementazione di un semplice server http per la consegna di contenuti statici (non sono supportati gestori di tipo CGI e servlet). Il server http integrato non \u00e8 ottimizzato per i carichi di lavoro e non supporta la gestione degli accessi e l'autenticazione, essendo progettato principalmente per l'uso nel processo di sviluppo per la creazione di prototipi, debugging e testing dei progetti.\n<li class=\"l\"> JavaDoc ha implementato il supporto per il tag \u2018@snippet\u2019 per l'inserimento di esempi di lavoro e frammenti di codice nella documentazione API, ai quali possono essere applicati strumenti per la verifica della correttezza, l'evidenziazione della sintassi e l'integrazione con IDE.\n<li class=\"l\"> \u00c8 stata ripensata l'implementazione dell'API java.lang.reflect (Core Reflection), progettata per ottenere informazioni su metodi, campi e costruttori delle classi, nonch\u00e9 per accedere alla struttura interna delle classi. L'API java.lang.reflect rimane invariata, ma ora \u00e8 implementata tramite l'uso di descrittori di metodi (method handles), forniti dal modulo java.lang.invoke, invece di utilizzare generatori di bytecode. Questa modifica ha consentito di unificare le implementazioni di java.lang.reflect e java.lang.invoke, semplificando la loro manutenzione.\n<li class=\"l\"> \u00c8 stata proposta una terza implementazione preliminare dell'API Vector, che fornisce funzionalit\u00e0 per calcoli vettoriali eseguiti utilizzando le istruzioni vettoriali dei processori x86_64 e AArch64, consentendo di applicare operazioni simultaneamente a pi\u00f9 valori (SIMD). A differenza delle capacit\u00e0 di auto-vettorizzazione delle operazioni scalari fornite dal compilatore JIT HotSpot, la nuova API consente di gestire esplicitamente la vettorizzazione per l'elaborazione parallela dei dati.\n<li class=\"l\"> \u00c8 stato aggiunto un'interfaccia SPI (service-provider interface) per la risoluzione dei nomi host e <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/lir\/ipv4\/\"   title=\"indirizzi IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">indirizzi IP<\/a>, che consente di utilizzare in java.net.InetAddress resolvitori alternativi, non legati ai gestori forniti dal sistema operativo.\n<li class=\"l\"> \u00c8 stata proposta una seconda implementazione preliminare dell'API Foreign Function &amp; Memory, tramite la quale le applicazioni possono interagire con codice e dati al di fuori del runtime Java. La nuova API consente di invocare in modo efficiente funzioni eseguite al di fuori della JVM e accedere a memoria non gestita dalla JVM. Ad esempio, \u00e8 possibile chiamare funzioni da librerie condivise esterne e accedere a dati di processo senza utilizzare JNI.\n<li class=\"l\"> \u00c8 stata aggiunta la seconda implementazione sperimentale del matching basato su pattern nelle espressioni \u00abswitch\u00bb, che consente di utilizzare non valori precisi, ma pattern flessibili all'interno dei tag \u00abcase\u00bb, coprendo cos\u00ec una serie di valori che in precedenza richiedevano l'uso di catene di espressioni ingombranti \u00abif\u2026else\u00bb.          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\"> \u00c8 stata dichiarata obsoleta e verr\u00e0 disabilitata in una delle prossime versioni la meccanica di finalizzazione, insieme ai metodi correlati, come Object.finalize(), Enum.finalize(), Runtime.runFinalization() e System.runFinalization().\n<li class=\"l\"> Nei garbage collector ZGC (Z Garbage Collector), SerialGC e ParallelGC \u00e8 stata implementata la supporto per la deduplicazione delle stringhe.    <\/ul>\n<p>Fonte: <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.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 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\/it\/blog\/news\/vypusk-java-se-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Rilascio di Java SE 18 | ProHoster","description":"Dopo sei mesi di sviluppo, Oracle ha rilasciato la piattaforma Java SE 18 (Java Platform, Standard Edition 18), utilizzando come implementazione di riferimento il progetto open source OpenJDK.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-java-se-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/103599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}