JEP 544: compilación de código anticipada (ahead-of-time) en la JVM HotSpot

La JEP 544, propuesta para OpenJDK por John Rose, introduce la compilación anticipada (AOT) de código de aplicación dentro de la caché AOT existente, con el objetivo de reducir los tiempos de arranque y calentamiento de la JVM HotSpot. La idea central es ejecutar un entrenamiento previo que genere c

Las clases valor en Valhalla siguen necesitando el apoyo del compilador

El proyecto Valhalla acerca su mayor hito al integrarse como función de previsualización en JDK 28: las clases valor (value classes), contempladas en la JEP 401. Esta característica permite renunciar a la identidad de los objetos y, con ello, abrir nuevas vías de optimización en la JVM, como el apla

Implementar `nameOf` en Java introspeccionando el bytecode

El artículo muestra cómo reproducir en Java la expresión `nameof` de C#, que devuelve el nombre textual de un identificador para evitar duplicaciones en mensajes de validación. En lugar de añadir una característica al lenguaje, la propuesta se apoya exclusivamente en bibliotecas estándar: la API `St

Cómo afecta la alineación de memoria al rendimiento SIMD

La alineación de los accesos a memoria influye de forma directa en el rendimiento de cualquier forma de vectorización SIMD, ya sea automática o explícita. Un acceso se considera alineado cuando su dirección es múltiplo del tamaño del acceso (por ejemplo, 64 bytes para un vector de 16 enteros de 4 by

El sandbox de Nix: una entrada oculta que rompe la repetibilidad

El modelo de Nix se basa en derivaciones que deberían describir de forma completa el proceso de construcción y garantizar así la repetibilidad de los builds. Sin embargo, la opción `sandbox-paths`, configurable mediante `--option`, añade al sandbox rutas del sistema de archivos que la derivación no

OpenJDK fusiona la primera vista previa de los Value Objects (JEP 401)

El repositorio principal de OpenJDK (jdk/master) ha recibido un pull request que agrupa 2.934 commits para implementar la primera vista previa de la JEP 401 (Value Objects), uno de los cambios más ambiciosos del proyecto Valhalla. La propuesta introduce en el lenguaje Java un nuevo tipo de objeto: l

OpenJDK prohíbe el contenido generado por IA en sus contribuciones

La comunidad OpenJDK, patrocinada por Oracle, ha aprobado una política provisional que prohíbe incluir contenido generado total o parcialmente por modelos de lenguaje, modelos de difusión o sistemas de aprendizaje profundo en cualquier contribución al proyecto. La medida afecta a código fuente, text

JEP 540: una API JSON estándar e incubada para el JDK

La JEP 540, titulada "Simple JSON API (Incubator)", tiene como objetivo definir una API estándar dentro de la plataforma Java para analizar y generar documentos JSON conformes con RFC 8259, sin necesidad de recurrir a bibliotecas externas. Actualmente, los desarrolladores Java dependen de proyectos

Estreno de 'The Java Story', documental oficial sobre la historia del lenguaje

'The Java Story | The Official Documentary' es un documental de 74 minutos publicado por el canal CultRepo que repasa la historia del lenguaje de programación Java, desde su nacimiento como proyecto interno en Sun Microsystems hasta su papel actual en la empresa y la nube. El filme, dirigido por Joe

Java 27 ya tiene sus características cerradas: estas son las 9 JEP que trae

Java 27 ha entrado en la fase de Rampdown Phase One, lo que significa que el conjunto de funcionalidades de esta versión ya está cerrado. La entrega llega con 9 JEP, una cifra reducida frente a las 10 de Java 26, y casi todas son consolidaciones más que grandes novedades. El cambio más visible es e

JEP 539: inicialización estricta de campos en la JVM (vista previa)

El JEP 539, propuesto por Dan Smith en el repositorio OpenJDK, introduce un nuevo modelo de inicialización de campos en la Máquina Virtual de Java (JVM) denominado inicialización estricta de campos. Los campos marcados con este modo no dispondrán de valor por defecto (0, false o null), por lo que la

Project Valhalla llega al JDK 28: una década de trabajo en clases valor

Project Valhalla, la iniciativa de OpenJDK que arrancó en 2014 para acercar el modelo de programación de Java al rendimiento de los tipos primitivos, entrará por fin en el repositorio principal de OpenJDK como característica de previsualización en JDK 28. Lo confirmó el 15 de junio la ingeniera de O

OpenJDK 11: nuevas herramientas para terminar JVM

Una nueva versión de OpenJDK 11 introduce opciones de terminación de la Máquina Virtual Java (JVM) para mejorar la depuración y el manejo de errores en entornos de producción. Estas opciones, disponibles a través de flags de runtime, permiten abortar la JVM en situaciones específicas como fallos de

Panamá: Puente Java-Nativo Facilita la Interoperabilidad

El proyecto Panamá, impulsado por el Hotspot Group dentro de OpenJDK, busca mejorar la interoperabilidad entre la Máquina Virtual de Java (JVM) y código nativo, especialmente APIs comúnmente utilizadas por programadores de C. El objetivo es permitir una comunicación más fluida y eficiente entre el c

Java 26: Estabilidad y futuro en la nueva versión

Java 26 ha sido lanzada, marcando un hito importante en el desarrollo de la plataforma Java. Esta nueva versión, que llega seis meses después de Java 25, introduce una serie de mejoras enfocadas en sentar las bases para futuras innovaciones, posiblemente relacionadas con el Proyecto Valhalla. Aunque

Java optimiza recolección de basura con nueva API

Un nuevo API de Java, incluido en OpenJDK 26, busca optimizar la eficiencia de la recolección de basura (GC) al permitir a los ingenieros cuantificar el costo de CPU asociado. Históricamente, la optimización de GC se centraba en minimizar los tiempos de pausa, pero con los colectores modernos, la re