montes.dev

  • ACERCA DE…
  • JDK 26. El regreso del mito

    Miro con nostalgia mis tiempos mozos donde actualicé de Java 4 a Java 5 y la emoción que significaba ese tipo de actualizaciones. Ahora, ya abuelo en esto, mis emociones no son las mismas y ya no corro a poner la nueva versión de Java para disfrutar de esas promesas que se hemos leído estos meses atrás y más cuando no estamos ante una versión LTS, de esas que nos encanta poner en producción.

    Igualmente, tenemos cosas nuevas ¿el qué? Sigan leyendo.

    JEP 517: HTTP/3 para el HTTP Client

    Por fin. Los navegadores y servidores llevan tiempo pegándose con HTTP/3 y ya iba siendo hora de que el cliente nativo de Java se uniera a la fiesta. Si usas HttpClient, ahora vas a tener soporte para QUIC y todas esas ventajas de rendimiento en redes poco estables. No es algo que vayas a notar si tu backend está en la misma red local, pero para microservicios que hablan entre nubes, es una alegría.

    JEP 500: Preparando el camino para que «final» sea «final» de verdad

    Aviso a navegantes y a los amantes de la magia negra: se acabó lo de usar reflexión profunda para cambiar el valor de un campo final. El JDK 26 empieza a lanzar avisos serios si intentas hacer estas guarradas. La idea es que en el futuro el compilador pueda optimizar a muerte sabiendo que un final no va a cambiar nunca, pase lo que pase. Si tu framework de confianza hace cosas raras por debajo, prepárate para ver algún que otro log en rojo.

    JEP 526: Constantes perezosas (Lazy Constants)

    Llega StableValue en su segunda preview. La idea es sencilla: campos que solo se calculan cuando se necesitan por primera vez, pero que una vez inicializados el JVM los trata como constantes puras. Menos código repetitivo para implementar el patrón lazy loading y más rendimiento porque el JIT puede hacer sus virguerías sabiendo que ese valor ya no se mueve.

    JEP 530: Tipos primitivos en patrones (Cuarta Preview)

    Seguimos puliendo el switch y el instanceof. Ahora ya puedes meter tipos primitivos (int, double, etc.) en los patrones sin tener que andar haciendo cast manuales o boxing innecesario. Java se está volviendo muy uniforme en esto, y la verdad es que el código queda mucho más limpio.

    if (objeto instanceof int i) {
        System.out.println("Es un entero: " + i);
    }
    

    Parece una tontería, pero cuando llevas diez de estos seguidos, se agradece no tener que escribir código de más.

    JEP 529: Vector API (11ª Incubator)

    Sí, habéis leído bien: la undécima. La API de vectores sigue ahí, mejorando, pero sin terminar de salir de la incubadora. Es fundamental para temas de IA y cálculos pesados, pero parece que el equipo de desarrollo quiere estar 200% seguro antes de hacerla fija. Algún día saldrá, fe ciega.

    JEP 504: Adiós definitivo a los Applets

    Esto estaba deprecadísimo. Si todavía tienes algún sistema corriendo con Applets (espero que no, por tu salud mental), que sepas que el API ya ha sido borrado del mapa. Es el fin de una era, de aquel Java de los 90 que quería vivir en el navegador. Cerramos la puerta al salir y tiramos la llave al mar.

    Bueno, pues eso. El JDK 26 no es una versión para tirar cohetes, pero es que Java ya no necesita eso. Es una actualización de pulir lo que ya hay, preparar el terreno para lo que viene (Valhalla, te seguimos esperando) y quitarse de encima lastre del siglo pasado.

    Por aquí la Release Notes con todas las novedades.

    18 de marzo de 2026

  • El espejismo del vibe coding: cuando la relajación progresiva convierte al programador en espectador

    Interesante artículo escrito recientemente por Enrique Dans sobre vibe coding que merece la pena leer.

    La discusión sobre el vibe coding ha alcanzado un punto interesante cuando deja de ser una crítica externa y empieza a formularse desde dentro del propio ecosistema que lo impulsa. Que el CEO de una de las herramientas más avanzadas de programación asistida por inteligencia artificial advierta de que estamos construyendo software sobre cimientos frágiles no es una anécdota ni un ejercicio de falsa modestia: es una señal de alerta que conviene tomarse muy en serio. No porque la inteligencia artificial no funcione, sino porque funciona lo suficientemente bien como para inducir una peligrosa complacencia.

    Continuar en el blog de Enrique Dans.

    4 de enero de 2026

  • Java 25 ya está aquí, ya llegó

    La nueva versión de Java realmente no rompe nada no rompe nada (bueno, rompe a los que aún viven en 32 bits, ¿hola? ¿Hay alguien ahí?), pero pule bastante cosillas, veamos algunas cuantas.

    Constructores más flexibles

    Parece mentira, pero por fin se pueden hacer cosas antes de llamar a super() o this(). Ideal para validar argumentos o preparar datos.

    // Antes: obligado a llamar primero a super
    class Persona {
        Persona(String nombre) { }
    }
    
    class Empleado extends Persona {
        Empleado(String nombre) {
            super(nombre); // obligatorio aquí
            // Validar o transformar después
        }
    }
    // Ahora en Java 25
    class Empleado extends Persona {
        Empleado(String nombre) {
            if (nombre == null) nombre = "Desconocido"; // ya puedo hacerlo antes
            super(nombre);
        }
    }
    (más…)
    17 de septiembre de 2025

  • 10 errores tontos que todo programador en Java sigue cometiendo

    “La experiencia es ese maravilloso don que te llega justo después de haber metido la pata.” — Alguien que programó sin tests

    Dicen que con el tiempo uno se vuelve mejor programador. Que la experiencia ayuda a evitar los errores de principiante. Y es verdad… en parte. Porque hay ciertos fallos que, por algún motivo misterioso, siguen apareciendo incluso entre desarrolladores con años de práctica en Java.

    No hablamos de patrones complicados ni de problemas de concurrencia en microservicios. Hablamos de esos errores básicos, casi entrañables, que uno esperaría dejar atrás… pero no. Aquí va un repaso a 10 meteduras de pata que se siguen viendo —en proyectos reales, en producción, en 2025— por parte de programadores veteranos (ninguno de los cuales eres tú, claro).

    (más…)
    22 de julio de 2025
    java

  • Novedades principales del JDK 24

    Java 24 llegó en marzo 2025 y, como suele pasar últimamente, no viene con fuegos artificiales… pero sí con varias mejoras que te pueden hacer la vida un poco más llevadera. Nada de revoluciones ni promesas vacías. Solo cambios sensatos que huelen a “por fin”.

    Aquí te dejo un resumen directo y sin lios, para que no tengas que leerte mil líneas de JEPs antes de tu siguiente café.

    (más…)
    10 de abril de 2025

Creado, montado y concebido con WordPress