Métodos de acceso a la memoria de clase sol.misc.Inseguro de Java quedaría obsoleto y se eliminaría en una versión futura de la plataforma, como parte de una Propuesta de mejora de JDK (JEP) preparada por la comunidad OpenJDK. De los 87 métodos de la clase, se eliminarían 79. Estos métodos no compatibles tienen reemplazos admitidos desde JDK 9, para el acceso a la memoria en el montón, y JDK 22, para el acceso a la memoria fuera del montón, según la propuesta. Se recomienda encarecidamente a los desarrolladores de bibliotecas que migren de sol.misc.Inseguro hacia estas alternativas. La propuesta Esta actualización tiene como objetivo preparar la eliminación de estos métodos de acceso a la memoria en una versión futura de Java y ayudar a los desarrolladores a saber cuándo sus aplicaciones dependen de estos métodos. Tenga en cuenta que no tiene como objetivo eliminar la clase sun.misc.Unsafe por completo, ya que una pequeña cantidad de sus métodos no se utilizan para el acceso a la memoria y permanecerán en desuso.

El documento no cita una versión específica de Java que haría obsoletos estos métodos. La próxima iteración del estándar Java, JDK 22, que se lanzará en marzo, ya ha congelado sus características. Pero JDK 23, que se lanzará en septiembre, podría ser un posible objetivo. En el pasado, el código inseguro se consideraba necesario para la programación de bajo nivel. La clase sol.misc.Inseguro Se introdujo en 2002 para permitir que las clases Java del JDK realicen operaciones de bajo nivel. Sus métodos de acceso a memoria, como indica el nombre de la clase, no son seguros y pueden provocar un comportamiento indefinido, por lo que no se expusieron como API estándar. Se introdujeron con la suposición de que eran exclusivas del JDK, que los usuarios dentro del JDK realizarían comprobaciones de seguridad exhaustivas antes de usarlas y que se agregarían a la plataforma Java API estándar seguras para esta funcionalidad, como se propuso.

Un riesgo comprobado de fracaso y de accidente

Pero como en 2002 no había forma de evitarlo sol.misc.Inseguro Para ser utilizados fuera del JDK, sus métodos de acceso a memoria se han convertido en una navaja suiza para los desarrolladores de bibliotecas que desean más potencia y rendimiento que el que ofrecen las API estándar. Desafortunadamente, no todas las bibliotecas realizan comprobaciones de seguridad antes de llamar a estos métodos, lo que plantea un riesgo de fallos y caídas en las aplicaciones. En los últimos años, se han introducido dos API estándar para reemplazar los métodos de acceso a memoria en sol.misc.InseguroSe trata de java.lang.invocar de JDK 9 y java.lang.extranjero del JDK 22.