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 […]
Utilizando Java 8 Predicate
Crear un Java 8 Predicate , es una de las operaciones que más realizaremos cuando trabajemos con expresiones Lambda y Streams en Java 8. ¿Qué es un Predicado? , un Predicado es un interface funcional que define una condición que un objeto determinado debe cumplir . ¿Por ejemplo es una Persona mayor de 20 años?. El […]
Novedades de Java 8 Collections y Listas
Las novedades en el Java 8 Collections Framework son muchas e incluyen expresiones lambda y streams como parte fundamental de la renovación. Sin embargo los cambios son mucho mayores y afectan a practicamente todos los rincones del framework . Vamos a ver un par de situaciones que han sido simplificadas sobre manera a traves de […]
El concepto de Java Collections Views
Java Collections Views es uno de los conceptos que más suele sorprender a los programadores cuando comienzan a trabajar con el framework de colecciones de Java. Imaginemonos que disponemos del siguiente Array de Strings en Java. En muchas ocasiones querremos convertir al Array de Strings en un List de Strings. Esta operación es muy sencilla y […]
Java Nashorn JavaScript
Javascript cada día que pasa se usa más y existen mas librerías dentro de la plataforma. Java sigue siendo una de las tecnologías líderes del entorno servidor . Hoy por hoy podemos usar JavaScript dentro el mundo Java apoyandonos en Nashorn que es el motor de JavaScript embebido en Java 8 Un ejemplo de […]