Inicio Buscar

dgomezg - Buscar resultados

Si no estás feliz con los resultados, por favor realiza otra búsqueda

Explicación al reto de concurrencia. Solución con StampedLock

La mayoría de programadores encontró un punto ciego con la sentencia "arr=e;". De alguna forma pensamos que el tamaño se actualizará después de la asignación. En este artículo veremos este bug básico de concurrencia...

Unas pistas para el problema de concurrencia

En el último artículo, presentamos un problema de concurrencia para que lo resolvieses. Aquí damos algunas pistas para ayudar a que averigües qué sucede. Éste artículo es una traducción al castellano de la entrada original...

Un reto de concurrencia – System.arraycopy()

"Los amigos de verdad no se dejan escribir concurrencia a bajo nivel". - @karianna. Aquí tienes tu oportunidad para participar en una revisión global de código y tratar de averiguar qué está ocurriendo en...

Interactuando con esos enrevesados humanos

Nosotros, los humanos, somos bastante buenos sacando el significado por contexto. Los ordenadores son terribles, hacen exactamente lo que les decimos que hagan. La diversión llega cuando les damos información incorrecta para formatear números. Éste...

Ordenación de Listas en java

List tiene un nuevo método sort(Comparable). Resulta útil, porque permite a las implementaciones especificar cómo ordenar su estructura interna de datos. Vector sincroniza de una vez la lista, no por elemento. ArrayList evita copiar...

Benchmarking Java 8: ¿Qué es más rápido?

En este tutorial realizaremos un benchmarking de todos los ejemplos de la primera parte, descubriendo las ventajas y desventajas que las Lambdas y Streams nos proporcionan. Índice de contenidos 1. Introducción ...

Uso básico de Java 8: Stream y Lambdas.

En este tutorial vamos a ver ejemplos hechos con Programación imperativa vs. Programación funcional y qué ventajas nos aporta. Índice de contenidos 1. Introducción 2. Entorno ...

java.util.Optional – Un pequeño tutorial práctico

Java 8 introdujo la clase java.util.Optional, basada en la popular clase de Guava del mismo nombre. Se dice que nunca deberíamos llamar al método get(). En este tutorial veremos algunos ejemplos de alternativas al...

Strings compactos

Java 6 introdujo un mecanismo para almacenar caracteres ASCII en byte en lugar de en char. Esta característica se eliminó de nuevo en Java 7. Aún así, volverá en Java 9, pero en esta...

Complejidad computacional de BigInteger.multiply() en Java 8

En Java8, BigInteger incluye algoritmos con una menor complejidad computacional para la multiplicación y división de cifras grandes.  Aún podría mejorarse más paralelizando el método multiply() con Fork/Join. Éste artículo es una traducción al castellano de la entrada original publicada, en...