Con el lanzamiento previsto de Java Development Kit (JDK) 23 el 17 de septiembre, ya se ha comenzado a trabajar en JDK 24, con la primera característica, la restricción del uso de JNI (Java Native Interface), prevista para esta versión. También es posible incluir una multitud de otras características, incluidas muchas que ya se encuentran en vista previa en JDK 23. JDK 24, que probablemente llegará en marzo de 2025, ha sido designada como una versión sin soporte a largo plazo (LTS), lo que significa que, al igual que JDK 23, solo recibirá seis meses de soporte de nivel Premier de Oracle. La primera característica destinada a JDK 24, oficialmente denominada «Prepararse para restringir el uso de JNI», exige emitir advertencias sobre los usos de JNI y ajustar la API de memoria y función externa (FFM), incluida en JDK 22, para emitir advertencias de manera consistente. Estas advertencias tienen como objetivo preparar una versión futura que garantice la integridad de forma predeterminada al restringir de manera uniforme JNI y la API FFM. Los objetivos del plan incluyen preservar JNI como una forma estándar de interoperar con código nativo, preparar el ecosistema Java para futuras versiones que no permitan la interoperación con código nativo de forma predeterminada y alinear el uso de JNI y la API FFM para que los mantenedores de bibliotecas puedan migrar de uno a otro sin requerir que los desarrolladores cambien las opciones de la línea de comandos. Las características adicionales destinadas a JDK 24 se determinarán durante los próximos meses. Las características potenciales de Java 24 incluyen más vistas previas o versiones finales de las características que se están previsualizando en JDK 23. Estas incluyen la API de archivo de clase, para analizar, generar y transformar archivos de clase Java; recopiladores de flujo, para mejorar la API de flujo para operaciones intermedias personalizadas; declaraciones de importación de módulo, para importar de forma sucinta todos los paquetes exportados por un módulo y simplificar la reutilización de bibliotecas modulares; concurrencia estructurada, para simplificar la programación concurrente; valores con ámbito, para compartir datos inmutables; y cuerpos de constructor flexibles, que brindan a los desarrolladores una mayor libertad para expresar el comportamiento de los constructores. Otra característica en vista previa en JDK 23 y un candidato para JDK 24 son los tipos primitivos en patrones, instanceof y switch, que apuntan a mejorar la coincidencia de patrones al permitir patrones de tipos primitivos en todos los contextos de patrones y extender instanceof y switch para que funcionen con todos los tipos primitivos. Otra posible característica de JDK 24 es la API vectorial, ahora en una octava etapa de incubación en JDK 23. La API vectorial está orientada a expresar cálculos vectoriales que se expresan de manera confiable en tiempo de ejecución en instrucciones vectoriales óptimas en arquitecturas de CPU compatibles. La carga de clases anticipada, una característica diseñada para acelerar los inicios de Java, y las plantillas de cadenas, una característica vista previa en JDK 21 y JDK 22 pero eliminada de JDK 23, también podrían apuntar a JDK 24. La versión LTS más reciente, JDK 21, llegó en septiembre de 2023 y se espera que reciba al menos cinco años de soporte Premier de Oracle. La próxima versión LTS, JDK 25, se lanzará en septiembre de 2025. Las versiones LTS han dominado la adopción de Java, lo que significa que la adopción de JDK 23 y JDK 24 podría ser baja mientras los usuarios esperan JDK 25.