{"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 open source OpenJDK come implementazione di riferimento. Ad eccezione della rimozione di alcune funzionalit\u00e0 obsolte, Java SE 18 mantiene la retrocompatibilit\u00e0 con le versioni precedenti della piattaforma Java \u2014 la maggior parte dei progetti Java scritti in precedenza funzioner\u00e0 senza modifiche con la nuova versione. Sono disponibili pacchetti installabili di Java SE 18 (JDK, JRE e Server JRE) per Linux (x86_64, AArch64), Windows (x86_64) e macOS (x86_64, AArch64). L'implementazione di riferimento di Java 18 sviluppata nell'ambito del progetto OpenJDK \u00e8 completamente open source sotto licenza GPLv2 con eccezioni GNU ClassPath, che consentono il collegamento dinamico con prodotti commerciali.     <\/p>\n<p>Java SE 18 \u00e8 classificato come una versione con ciclo di supporto regolare, con aggiornamenti che verranno rilasciati fino alla prossima versione. Per una versione con supporto a lungo termine (LTS), si consiglia di utilizzare Java SE 17, per il quale gli aggiornamenti verranno rilasciati fino al 2029. Ricordiamo che a partire dal rilascio di Java 10, il progetto ha adottato un nuovo processo di sviluppo, che prevede un ciclo di rilascio pi\u00f9 breve. Le nuove funzionalit\u00e0 ora vengono sviluppate in un branch master costantemente aggiornato, nel quale vengono integrate le modifiche gi\u00e0 pronte e nel quale si diramano, ogni sei mesi, i branch per la stabilizzazione di nuove versioni.     <\/p>\n<p>Tra le novit\u00e0 di Java 18 si possono notare:  <\/p>\n<ul>\n<li class=\"l\"> Per impostazione predefinita, viene utilizzata la codifica UTF-8. Le API Java che elaborano i dati di testo tenendo conto della codifica dei caratteri utilizzeranno ora automaticamente UTF-8 su tutte le piattaforme, indipendentemente dalle impostazioni di sistema e dalla locale impostata. Per ripristinare il comportamento precedente, in cui la codifica veniva selezionata in base alla locale di sistema, \u00e8 possibile utilizzare il parametro \u00ab-Dfile.encoding=COMPAT\u00bb.\n<li class=\"l\"> Il pacchetto com.sun.net.httpserver \u00e8 incluso, che contiene l'utilit\u00e0 jwebserver e un'API di libreria con l'implementazione di un semplice server http per la consegna di contenuti statici (non vengono supportati i gestori simili ai CGI e ai servlet). Il server http integrato non \u00e8 ottimizzato per carichi di lavoro ed non supporta la gestione degli accessi e l'autenticazione, poich\u00e9 \u00e8 principalmente destinato all'uso nel processo di sviluppo per la creazione di prototipi, il debug e il testing dei progetti.\n<li class=\"l\"> JavaDoc implementa il supporto per il tag \u00ab@snippet\u00bb per incorporare esempi funzionali 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 l'IDE.\n<li class=\"l\"> \u00c8 stata rivisitata l'implementazione dell'API java.lang.reflect (Core Reflection), destinata a ottenere informazioni sui metodi, campi e costruttori delle classi, nonch\u00e9 ad accedere alla struttura interna delle classi. L'API java.lang.reflect \u00e8 rimasta invariata, ma ora \u00e8 implementata utilizzando i descrittori dei metodi (method handles), forniti dal modulo java.lang.invoke, invece di utilizzare i generatori di bytecode. Questa modifica ha consentito di unificare le implementazioni di java.lang.reflect e java.lang.invoke e di semplificare la loro manutenzione.\n<li class=\"l\"> \u00c8 stata proposta una terza implementazione preliminare dell'API Vector, che fornisce funzionalit\u00e0 per i calcoli vettoriali, eseguiti utilizzando le istruzioni vettoriali dei processori x86_64 e AArch64, permettendo di applicare operazioni simultaneamente a pi\u00f9 valori (SIMD). A differenza delle capacit\u00e0 di auto-vettorizzazione delle operazioni scalari offerte dal compilatore JIT HotSpot, la nuova API consente di gestire esplicitamente la vettorizzazione per l'elaborazione parallela dei dati.\n<li class=\"l\"> \u00c8 stata aggiunta un'interfaccia SPI (service-provider interface) per la risoluzione dei nomi degli host e <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/lir\/ipv4\/\"   title=\"IP addresses\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">IP addresses<\/a>, che consente di utilizzare in java.net.InetAddress risolutori alternativi, non legati ai gestori offerti dal sistema operativo.\n<li class=\"l\"> \u00c8 stata proposta una seconda implementazione preliminare dell'API Foreign Function &amp; Memory, che consente alle applicazioni di interagire con codice e dati al di fuori del runtime Java. La nuova API consente di invocare efficientemente funzioni non eseguite nella JVM e di accedere a memoria non gestita dalla JVM. Ad esempio, \u00e8 possibile chiamare funzioni da librerie condivise esterne e accedere ai dati di processo senza utilizzare JNI.\n<li class=\"l\"> \u00c8 stata aggiunta una seconda implementazione sperimentale del pattern matching nelle espressioni \u00abswitch\u00bb, che consente di utilizzare nei case non valori esatti, ma modelli flessibili che coprono un'intera serie di valori, per i quali in precedenza era necessario utilizzare catene di espressioni \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\"> Il meccanismo di finalizzazione, cos\u00ec come i metodi associati come Object.finalize(), Enum.finalize(), Runtime.runFinalization() e System.runFinalization(), \u00e8 stato dichiarato obsoleto e verr\u00e0 disattivato in una delle prossime versioni.\n<li class=\"l\"> I garbage collector ZGC (Z Garbage Collector), SerialGC e ParallelGC implementano il 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.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\/it\/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=\"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\udd47 Rilascio di Java SE 18 | ProHoster","description":"Dopo sei mesi di sviluppo, Oracle ha rilasciato la piattaforma Java SE 18 (Java Platform, Standard Edition 18), la cui implementazione di riferimento \u00e8 basata sul 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}]}}