{"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\/es\/blog\/news\/vypusk-java-se-18","title":{"rendered":"Lanzamiento de Java SE 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Despu\u00e9s de seis meses de desarrollo, Oracle lanz\u00f3 la plataforma Java SE 18 (Java Platform, Standard Edition 18), cuya implementaci\u00f3n de referencia utiliza el proyecto abierto OpenJDK. Excepto por la eliminaci\u00f3n de algunas funciones obsoletas, Java SE 18 mantiene la compatibilidad hacia atr\u00e1s con versiones anteriores de la plataforma Java: la mayor\u00eda de los proyectos Java previamente escritos funcionar\u00e1n sin cambios bajo la nueva versi\u00f3n. Las compilaciones listas para instalar de Java SE 18 (JDK, JRE y Server JRE) est\u00e1n disponibles para Linux (x86_64, AArch64), Windows (x86_64) y macOS (x86_64, AArch64). La implementaci\u00f3n de referencia de Java 18, desarrollada bajo el proyecto OpenJDK, es completamente abierta bajo la licencia GPLv2 con excepciones de GNU ClassPath que permiten el enlace din\u00e1mico con productos comerciales.     <\/p>\n<p>Java SE 18 se clasifica como una versi\u00f3n con un ciclo de soporte regular, y las actualizaciones se lanzar\u00e1n hasta el pr\u00f3ximo lanzamiento. Para una rama de soporte a largo plazo (LTS), se debe utilizar Java SE 17, cuyos actualizaciones se proporcionar\u00e1n hasta 2029. Cabe recordar que desde el lanzamiento de Java 10, el proyecto ha adoptado un nuevo proceso de desarrollo, que implica un ciclo m\u00e1s corto para la creaci\u00f3n de nuevas versiones. Las nuevas funcionalidades ahora se desarrollan en una rama maestra que se actualiza constantemente, incorporando cambios ya listos y de la cual se bifurcan ramas cada seis meses para estabilizar nuevos lanzamientos.     <\/p>\n<p>Entre las novedades de Java 18 se destacan:  <\/p>\n<ul>\n<li class=\"l\"> Por defecto, se utiliza la codificaci\u00f3n UTF-8. La API de Java que maneja datos de texto seg\u00fan la codificaci\u00f3n de caracteres ahora usar\u00e1 por defecto UTF-8 en todas las plataformas, independientemente de la configuraci\u00f3n del sistema y la localidad establecida. Para restaurar el comportamiento anterior, en el cual la codificaci\u00f3n se elige seg\u00fan la localidad del sistema, se puede utilizar el par\u00e1metro \"-Dfile.encoding=COMPAT\".\n<li class=\"l\"> El paquete com.sun.net.httpserver est\u00e1 incluido, que contiene la utilidad jwebserver y la API de biblioteca con la implementaci\u00f3n de un servidor http simple para servir contenido est\u00e1tico (no se admiten controladores CGI ni similares a servlets). El servidor http incorporado no est\u00e1 optimizado para cargas de trabajo y no admite el control de acceso ni la autenticaci\u00f3n, ya que est\u00e1 dise\u00f1ado principalmente para su uso en el proceso de desarrollo para crear prototipos, depurar y probar proyectos.\n<li class=\"l\"> JavaDoc ha implementado el soporte para la etiqueta \"@snippet\" para incrustar ejemplos funcionales y fragmentos de c\u00f3digo en la documentaci\u00f3n de la API, a los que se pueden aplicar herramientas para verificar la validez, resaltar la sintaxis e integrarse con IDEs.\n<li class=\"l\"> Se ha reformulado la implementaci\u00f3n de la API java.lang.reflect (Reflexi\u00f3n de N\u00facleo), que est\u00e1 destinada a obtener informaci\u00f3n sobre m\u00e9todos, campos y constructores de clases, as\u00ed como acceder a la estructura interna de las clases. La API java.lang.reflect se ha mantenido sin cambios, pero ahora se implementa mediante el uso de descriptores de m\u00e9todos (method handles) proporcionados por el m\u00f3dulo java.lang.invoke, en lugar de utilizar generadores de c\u00f3digo de bytes. Este cambio ha permitido unificar las implementaciones de java.lang.reflect y java.lang.invoke, y simplificar su mantenimiento.\n<li class=\"l\"> Se ha propuesto una tercera implementaci\u00f3n preliminar de la API Vector, que proporciona funciones para c\u00e1lculos vectoriales que se realizan utilizando instrucciones vectoriales de los procesadores x86_64 y AArch64, permitiendo aplicar operaciones simult\u00e1neamente a varios valores (SIMD). A diferencia de las capacidades de auto-vectorizaci\u00f3n de operaciones escalares ofrecidas en el compilador JIT HotSpot, la nueva API permite gestionar expl\u00edcitamente la vectorizaci\u00f3n para el procesamiento paralelo de datos.\n<li class=\"l\"> Se ha a\u00f1adido una interfaz SPI (interfaz de proveedor de servicio) para resolver nombres de host y <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/lir\/ipv4\/\"   title=\"direcciones IP\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"851\">direcciones IP<\/a>, que permite utilizar en java.net.InetAddress resolvers alternativos que no dependen de los manejadores proporcionados por el sistema operativo.\n<li class=\"l\"> Se ha propuesto una segunda implementaci\u00f3n preliminar de la API Foreign Function &amp; Memory, que permite a las aplicaciones interactuar con c\u00f3digo y datos que se encuentran fuera del entorno de ejecuci\u00f3n de Java. La nueva API permite invocar eficazmente funciones que no se ejecutan en la JVM y acceder a la memoria que no es gestionada por la JVM. Por ejemplo, se pueden invocar funciones de bibliotecas compartidas externas y acceder a los datos de un proceso sin usar JNI.\n<li class=\"l\"> Se ha a\u00f1adido una segunda implementaci\u00f3n experimental de coincidencia basada en patrones en las expresiones \u00abswitch\u00bb, permitiendo en las etiquetas \u00abcase\u00bb utilizar no solo valores exactos, sino plantillas flexibles que abarcan una serie de valores, para los cuales anteriormente se requer\u00edan largas cadenas de expresiones \u00abif...else\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\"> Se declara obsoleto y se desactivar\u00e1 en una de las pr\u00f3ximas versiones el mecanismo de finalizaci\u00f3n, as\u00ed como los m\u00e9todos relacionados, como Object.finalize(), Enum.finalize(), Runtime.runFinalization() y System.runFinalization().\n<li class=\"l\"> Se ha implementado soporte de deduplicaci\u00f3n de cadenas en los recolectores de basura ZGC (Z Garbage Collector), SerialGC y ParallelGC.    <\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/vypusk-java-se-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Lanzamiento de Java SE 18 | ProHoster","description":"Despu\u00e9s de seis meses de desarrollo, Oracle ha lanzado la plataforma Java SE 18 (Java Platform, Standard Edition 18), cuya implementaci\u00f3n de referencia utiliza el proyecto abierto OpenJDK.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-java-se-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/103599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=103599"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/103599\/revisions"}],"predecessor-version":[{"id":158042,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/103599\/revisions\/158042"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=103599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=103599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=103599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}