-
Lección 📈 En tendenciaEjemplo de wait() y notify() en Java
Un ejemplo para ilustrar cómo dos hilos pueden comunicarse mediante wait() y notify(). -
LecciónBufferedInputStream y rebobinado de streams
La idea de BufferedInputStream es que con una única llamada a read() podamos abarcar tanto como sea posible, para no tener que estar continuamente accediendo al stream que va por debajo. Lo importante es que con esto podemos usar métodos como mark() y reset() para poder rebobinar un stream -
Lección 📈 En tendenciaPreparedStatement, ¿por qué usarlo?
PreparedStatement permite utilizar sentencias preparadas, donde se valida de una forma más exhaustiva los datos de entrada para evitar vulnerabilidades. -
Lección 🔥 PopularTransacciones
En JDBC tenemos métodos para activar el uso de transacciones, cuando se agrupan múltiples sentencias SQL en una unidad única de trabajo que debe ejecutarse o toda o nada. -
Lección 📈 En tendenciaBloque static de Java: inicializadores estáticos y otros usos
El bloque static es un área de inicialización global de clase. Puedes imaginarlo como el constructor estático de una clase. Si se declara, se ejecuta cuando se accede por primera vez a una clase, para instanciarla o para usar un método o propiedad estático de la misma. No debe ser... -
Lección 📈 En tendenciaIntroducción a enum en Java
¿Qué es un tipo enumerado y cómo se puede declarar un tipo enumerado en Java? -
Lección 📈 En tendenciaFestival de la compilación
En este segundo episodio usamos Gradle para compilar un proyecto de libGDX en escritorio, Android y web/GWT, tanto desde la línea de comandos como desde Eclipse. Así podremos probarlo donde sea* cuando nos apetezca. -
Cursomini2dx
mini2dx es una biblioteca hecha por encima de libGDX para programar juegos 2D usando Java. -
LecciónInyección de dependencia en Jakarta EE
Las aplicaciones de Jakarta EE y MicroProfile disponen de anotaciones para poder aplicar inyección de dependencia en las aplicaciones que hagamos. -
Lección 📈 En tendenciaCómo usar Future
Te cuento ahora cómo puedes usar la clase Future para gestionar una tarea que hayas enviado a un ExecutorService y así poder recuperar el resultado final cuando se haya terminado de procesar, o cancelarla si es necesario interrumpir su ejecución para que no termine.