El concepto de Java Diamond Operator llega a Java en la versión 7. Se le denomina operador diamante por la forma que tiene el operador “<>” y permite simplificar el manejo de los genéricos. Muchas veces nos olvidamos de usarla ya que estamos acostumbrados la sintaxis básica y es difícil cambiar los hábitos. Vamos a […]
Java Boxing y sus curiosidades
Java Boxing es uno de los conceptos básicos de Java que mas dudas genera a los programadores cuando empiezan a trabajar con el lenguaje. Vamos a explicarlo a detalle. ¿Qué es exactamente el concepto de Java Boxing?. En Java existen dos tipos de estructuras fundamentales , los tipos básicos y los objetos. Los tipos básicos […]
El concepto Java Reflection y como utilizarlo
Java Reflection es quizás el API que más versatilidad aporta al lenguaje Java ya que nos permite resolver muchos problemas de una forma totalmente diferente a la habitual. El API de Java reflection nos permite leer los metadatos de nuestras clases y trabajar con ellos. En un principio no es nada sencillo de entender .Vamos […]
Introducción a Java JAXB y el manejo de XML
Java JAXB o Java XML API Binding nos permite trabajar con XML y JSON de una forma cómoda usando Java. Vamos a ver una introducción a este estándar y sus anotaciones. Para ello nos apoyaremos en la clase Libro y las anotaciones de JAXB: Hemos añadido dos anotaciones @XmlRootElement que especifica la clase raiz que vamos […]
Java Callable Interface y su uso
¿Para qué sirve un Java Callable interface?. Este interface esta ligado de forma importante a la programación concurrente. Cuando uno empieza trabajar en Java , rápidamente aparece la clase Thread que nos permite ejecutar tareas concurrentes .Sin embargo tiene algunas limitaciones,vamos a ver un ejemplo: Acabamos de crear una tarea que implementa el interface Runnable. […]
Java Predicate Interface y sus métodos
¿Cuales son los métodos más utilizados de un Java Predicate Interface? . Estamos muy acostumbrados a usar un predicado concreto para filtrar Streams . Muchas veces se nos olvida que el interface soporta varios métodos que aportan flexibilidad. Vamos a echarlos un vistazo . Para ello partiremos de una colección de Personas que queremos recorrer utilizando […]
Java Executor Service y Threading
Java Executor Service pertenece al API de Java7 y es una de las clases que nos permite gestionar la programación concurrente de una forma más sencilla y optima. Vamos a ver un ejemplo, para ello nos vamos a construir una clase Tarea que realice un pequeño bucle por pantalla Como podemos ver es una clase […]
El concepto de javac optimization
¿Cómo funciona el concepto de javac optimization? . Recordemos que javac es el compilador de Java y se encarga de compilar nuestro código “Java” en código para la maquina virtual. Javac Optimization En principio solemos pensar que se trata de una transformación del código directa , sin embargo no es exactamente así ya que el compilador […]