Ja va ser alliberada la nova versió de Java SE 18 i aquestes són les seves novetats

Després de sis mesos de desenvolupament, Oracle va donar a conèixer l'alliberament de la nova versió de JavaSE 18 (Standard Edition), que utilitza el projecte de codi obert OpenJDK com a implementació de referència.

En aquesta nova versió de Java SE 18 arriba amb l'excepció de la eliminació d'algunes funcions obsoletes, manté la compatibilitat amb versions anteriors de la plataforma Java i la majoria dels projectes Java escrits anteriorment continuaran funcionant sense canvis quan s'executin amb la nova versió.

Principals novetats de Java SE 18

En aquesta nova versió que es presenta de Java SE 18, la codificació predeterminada és UTF-8. Les API de Java que processen dades de text codificades amb caràcters ara faran servir UTF-8 per defecte a totes les plataformes, independentment de la configuració del sistema i la configuració regional. Per retornar el comportament anterior, en què la codificació s'escull tenint en compte la configuració regional del sistema, podeu utilitzar el paràmetre «-Dfile.encoding=COMPAT».

Un altre dels canvis que es destaca és ell va redissenyar la implementació de l'API java.lang.reflect (Core Reflection), dissenyada per obtenir informació sobre mètodes, camps i constructors de classes, així com accés a l'estructura interna de les classes. L'API java.lang.reflect per si mateix no ha canviat, però ara s'implementa utilitzant els identificadors de mètodes proporcionats pel mòdul java.lang.invoke, en lloc de fer servir generadors de bytecode. El canvi va permetre unificar i facilitar el manteniment de les implementacions de java.lang.reflect i java.lang.invoke.

A més, també s'esmenta que es proposa la tercera implementació preliminar de Vector API, que proporciona funcions per a càlculs vectorials que es realitzen utilitzant les instruccions vectorials dels processadors x86_64 i AArch64 i permeten aplicar operacions simultàniament a diversos valors (SIMD). A diferència de les capacitats proveïdes al compilador HotSpot JIT per a la vectorització automàtica d'operacions escalars, la nova API permet controlar explícitament la vectorització per al processament de dades en paral·lel.

També es destaca que es va afegir una interfície SPI (interfície de proveïdor de serveis) per resoldre noms de host i adreces IP, el que permet utilitzar resolutors alternatius a java.net.InetAddress que no estan vinculats als controladors oferts pel sistema operatiu.

D'altra banda, se n'ha proposat una segona implementació preliminar de Foreign Function & Memory API, amb què les aplicacions poden interactuar amb codi i dades fora del temps d'execució de Java. La nova API permet trucar de manera eficient a funcions que no són de JVM y accedir a la memòria que no està administrada per JVM. Per exemple, podeu trucar a funcions des de biblioteques compartides externes i accedir a dades de processos sense utilitzar JNI.

S'ha afegit una segona implementació experimental de coincidència de patrons en expressions «switch», que permet utilitzar plantilles flexibles en lloc de valors exactes en etiquetes «case», cobrint una sèrie de valors alhora, per a la qual cosa abans calia utilitzar enutjoses cadenes d'expressions «if…else».

S'inclou el paquet com.sun.net.httpserver, que inclou la utilitat jwebserver i l'API de la biblioteca amb la implementació d'un servidor http simple per lliurar contingut estàtic (no s'admeten els controladors CGI i similars a servlets). El servidor http integrat no està optimitzat per a les càrregues de treball i no admet el control daccés ni lautenticació, ja que està dissenyat principalment per al seu ús en el procés de desenvolupament de projectes de creació de prototips, depuració i prova.

Dels altres canvis que es destaquen:

  • JavaDoc admet l'etiqueta «@snippet» per incrustar exemples de treball i fragments de codi a la documentació de l'API, a la qual es pot accedir amb eines de validació, ressaltat de sintaxi i integració d'IDE.
  • En desús i s'eliminarà en una versió futura, el mecanisme de finalització, així com els mètodes relacionats, com Object.finalize(), Enum.finalize(), Runtime.runFinalization() i System.runFinalization().
  • Els recol·lectors d'escombraries ZGC (Z Garbage Collector), SerialGC i ParallelGC admeten la deduplicació de cadenes.

JavaSE 18 es classifica com una versió de suport regular, amb actualitzacions que es publicaran abans de la propera versió. La branca de suport a llarg termini (LTS) ha de ser Java SE 17, que rebrà actualitzacions fins al 2029.

És important recordar que a partir del llançament de Java 10, el projecte va canviar a un nou procés de desenvolupament, fet que implica un cicle més curt per a la formació de nous llançaments. La nova funcionalitat ara està desenvolupant-se en una branca mestra constantment actualitzada, que inclou canvis ja completats i des de la qual les branques es ramifiquen cada sis mesos per estabilitzar les noves versions.

Obtenir Java SE 18

Per als interessats a poder provar aquesta nova versió, han de saber que les compilacions estan llestes per a Linux (x86_64, AArch64), Windows (x86_64) i macOS (x86_64, AArch64) i es poden obtenir des del següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.