Ni me acordaba de los Applet ya 🤣
👋👋👋👋👋👋👋👋👋
Hasta Java 26 llegaron (https://openjdk.org/jeps/504), al parecer Firefox quitó soporte de applets en 2017
Si no sabes que era un applet 👉 https://www.vice.com/en/article/a-brief-history-of-the-java-applet/
👋👋👋👋👋👋👋👋👋
Remove the Applet API, which was deprecated for removal in JDK 17 (2021). It is obsolete because neither recent JDK releases nor current web browsers support applets.
Hasta Java 26 llegaron (https://openjdk.org/jeps/504), al parecer Firefox quitó soporte de applets en 2017
Si no sabes que era un applet 👉 https://www.vice.com/en/article/a-brief-history-of-the-java-applet/
VICE
The Rise and Fall of the Java Applet: Creative Coding’s Awkward Little Square
It's easy technology to hate, but the Applet predicted an age of web applications.
Opentelemetry declarative configuration (aka yaml) disponible para el Java Agente de la versión 2.20 (principios de septiembre)
-----
Declarative configuration uses a YAML file instead of environment variables or system properties.
💡This approach is useful when:
👉 You have many configuration options to set
👉 You want to use configuration options that are not available as environment variables or system properties
🔗 https://opentelemetry.io/docs/zero-code/java/agent/declarative-configuration/
-----
Declarative configuration uses a YAML file instead of environment variables or system properties.
💡This approach is useful when:
👉 You have many configuration options to set
👉 You want to use configuration options that are not available as environment variables or system properties
🔗 https://opentelemetry.io/docs/zero-code/java/agent/declarative-configuration/
OpenTelemetry
Java Agent Declarative configuration
Declarative configuration uses a YAML file instead of environment variables or system properties.
This approach is useful when:
You have many configuration options to set You want to use configuration options that are not available as environment variables…
This approach is useful when:
You have many configuration options to set You want to use configuration options that are not available as environment variables…
Las conexiones cliente-servidor siempre van a fallar, y la forma en que gestionamos esos errores es clave. El retry es una estrategia fundamental, pero hay diferentes niveles de complejidad.
A mi me gusta ver la evolución del concepto a través de dos librerías de referencia en el ecosistema Java:
Resilience4j (https://github.com/resilience4j/resilience4j): Ideal para empezar. Ofrece patrones de resiliencia como Circuit Breaker y Rate Limiter, y es perfecta para implementar estrategias de reintento más clásicas como el backoff exponencial o con jitter. Es la base para construir sistemas robustos.
Netflix Concurrency-Limits (https://github.com/Netflix/concurrency-limits): Esta es la siguiente evolución. En lugar de reintentos basados en tiempo, se enfoca en limitar la concurrencia. Utiliza algoritmos avanzados, inspirados en el control de congestión TCP, para detectar automáticamente el límite de concurrencia óptimo y evitar que el servicio se sature. No es solo reintentar, es reintentar de forma inteligente para no colapsar un servicio ya sobrecargado.
En resumen, Resilience4j nos ayuda a ser más resistentes a fallos transitorios, mientras que concurrency-limits nos permite ser más eficientes y evitar el colapso del sistema en primer lugar.
A mi me gusta ver la evolución del concepto a través de dos librerías de referencia en el ecosistema Java:
Resilience4j (https://github.com/resilience4j/resilience4j): Ideal para empezar. Ofrece patrones de resiliencia como Circuit Breaker y Rate Limiter, y es perfecta para implementar estrategias de reintento más clásicas como el backoff exponencial o con jitter. Es la base para construir sistemas robustos.
Netflix Concurrency-Limits (https://github.com/Netflix/concurrency-limits): Esta es la siguiente evolución. En lugar de reintentos basados en tiempo, se enfoca en limitar la concurrencia. Utiliza algoritmos avanzados, inspirados en el control de congestión TCP, para detectar automáticamente el límite de concurrencia óptimo y evitar que el servicio se sature. No es solo reintentar, es reintentar de forma inteligente para no colapsar un servicio ya sobrecargado.
En resumen, Resilience4j nos ayuda a ser más resistentes a fallos transitorios, mientras que concurrency-limits nos permite ser más eficientes y evitar el colapso del sistema en primer lugar.
GitHub
GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming
Resilience4j is a fault tolerance library designed for Java8 and functional programming - resilience4j/resilience4j
The LinkedBlockingDeque has an interesting feature in addAll(), where they first build up the linked nodes and then add them all to the tail. However, a bug allowed us to overflow the size, resulting in a negative count. In this newsletter we look at this bug, and also how it was fixed in Java 26
.
https://javaspecialists.eu/archive/Issue328-Negative-size-in-LinkedBlockingDeque.html
www.javaspecialists.eu
[JavaSpecialists 328] - Negative size() in LinkedBlockingDeque
The LinkedBlockingDeque has an interesting feature in addAll(), where they first build up the linked nodes and then add them all to the tail. However, a bug allowed us to overflow the size, resulting in a negative count. In this newsletter we look at this…
📢 Kotlin 2.3.0-Beta2 is out! Here are some of the highlights:
✅ Language: more stable and default features, a new checker for unused return values, and changes to context-sensitive resolution.
✅ Kotlin/JVM: support for Java 25.
✅ Kotlin/Native: improved interop through Swift export and type checks on generic type boundaries enabled by default.
✅ Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default.
✅ Kotlin/JS: new experimental suspend function export and LongArray representation.
✅ Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
✅ Standard library: stable time tracking functionality.
Try it out: ➡️kotl.in/2-3-0-beta2
Source: https://x.com/kotlin/status/1983129735669399598
✅ Language: more stable and default features, a new checker for unused return values, and changes to context-sensitive resolution.
✅ Kotlin/JVM: support for Java 25.
✅ Kotlin/Native: improved interop through Swift export and type checks on generic type boundaries enabled by default.
✅ Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default.
✅ Kotlin/JS: new experimental suspend function export and LongArray representation.
✅ Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
✅ Standard library: stable time tracking functionality.
Try it out: ➡️kotl.in/2-3-0-beta2
Source: https://x.com/kotlin/status/1983129735669399598
X (formerly Twitter)
Kotlin by JetBrains (@kotlin) on X
📢 Kotlin 2.3.0-Beta2 is out! Here are some of the highlights:
✅ Language: more stable and default features, a new checker for unused return values, and changes to context-sensitive resolution.
✅ Kotlin/JVM: support for Java 25.
✅ Kotlin/Native: improved interop…
✅ Language: more stable and default features, a new checker for unused return values, and changes to context-sensitive resolution.
✅ Kotlin/JVM: support for Java 25.
✅ Kotlin/Native: improved interop…
Para quienes trabajan con Kotlin y necesitan generar documentación de API, Dokka es el motor de documentación de referencia. Funciona con KDoc (Kotlin) y Javadoc (Java).
📃Puede generar la documentación en HTML moderno, varios tipos de Markdown y el Javadoc HTML clásico.
📚Es la herramienta utilizada por bibliotecas importantes del ecosistema como kotlinx.coroutines, Ktor y OkHttp.
🔗 https://kotl.in/dokka
📃Puede generar la documentación en HTML moderno, varios tipos de Markdown y el Javadoc HTML clásico.
📚Es la herramienta utilizada por bibliotecas importantes del ecosistema como kotlinx.coroutines, Ktor y OkHttp.
🔗 https://kotl.in/dokka
Kotlin Help
Introduction | Kotlin
https://inside.java/2025/11/03/quality-heads-up/
----------------------------
Change in JDK 25
----------------------------
Change in JDK 25
JDK 25 fixed this long-standing inconsistency and new File("") now properly represents the current user directory:
To bring order to this chaos, at JetBrains Research we built LitmusKt — a novel testing tool for Kotlin’s multiplatform concurrency. Designed specifically for Kotlin’s unique mix of JVM, Native, and JavaScript backends, LitmusKt helps developers uncover and eliminate subtle, platform-specific concurrency errors that traditional testing can’t catch
.
https://blog.jetbrains.com/research/2025/10/litmuskt-concurrency-testing/
The JetBrains Blog
Finding Order in the Mayhem: A Novel Concurrency Testing Tool that Improved the Kotlin Compiler - The JetBrains Blog
At JetBrains Research we built LitmusKt — a novel concurrency testing tool for Kotlin’s unique mix of JVM, Native, and JavaScript backends.
[JavaSpecialists 331] - Virtual Thread States
https://www.javaspecialists.eu/archive/Issue331-Virtual-Thread-States.html
No major feature has been adopted as quickly into production systems as virtual threads. Not generics. Not streams. But there are some catches. Original Java threads have six states. Virtual threads have 20 states, which Java maps onto the original six states. However, sometimes it can be useful to know what the virtual threads state is. In this newsletter we use deep reflection to learn how that works
https://www.javaspecialists.eu/archive/Issue331-Virtual-Thread-States.html
👍1
Forwarded from The Daily Kotlin (Ruslan Ibragimov)
GitHub
GitHub - mokksy/mokksy: 🦊 Mokksy is a mock HTTP server for testing and simulating real-world API behavior, including streaming…
🦊 Mokksy is a mock HTTP server for testing and simulating real-world API behavior, including streaming, SSE, delays, and failures. Built for Kotlin, Java, and modern distributed systems. - mokksy/m...
Forwarded from Mis Feeds
Nuevo contenido en el feed: insidejava
The Arrival of Java 26
https://inside.java/2026/03/16/the-arrival-of-java-26/
The Arrival of Java 26
https://inside.java/2026/03/16/the-arrival-of-java-26/
inside.java
The Arrival of Java 26
Oracle is proud to announce the general availability of JDK 26 for developers, enterprises, and end-users.
Amper, the alternatives to Gradle/Maven from JetBrains has been archived and moved to kotlin toolchain
https://github.com/JetBrains/amper
https://github.com/JetBrains/amper
Every schoolboy knows that arrays are faster than linked structures, no matter the language. In this newsletter we present a puzzle where we find LinkedList outperforming ArrayList for ZGC. Let's see who comes up with the most thorough explanation why
https://www.javaspecialists.eu/archive/Issue334-ArrayList-vs-LinkedList-Puzzle.html
www.javaspecialists.eu
[JavaSpecialists 334] - ArrayList vs LinkedList Puzzle
Every schoolboy knows that arrays are faster than linked structures, no matter the language. In this newsletter we present a puzzle where we find LinkedList outperforming ArrayList for ZGC. Let's see who comes up with the most thorough explanation why.