Todos usamos en el día a día Java Annotations .Sin embargo no siempre entendemos como el lenguaje Java las procesa. Es decir estamos más que acostumbrados a usar @Ejb o @Entity para la capa de persistencia o para la gestión de servicios . Ahora bien ¿Cómo son procesadas o cómo son construidas?. Vamos a ver […]
Java Override y encapsulación
El concepto de Java Override o overriding es uno de los conceptos que cuesta más entender cuando una comienza a trabajar con programación orientada a objeto. ¿Para que sirve el overriding o polimorfismo dinámico? . En Java en muchas ocasiones nos encontramos con situaciones en las cuales tenemos una jerarquía de clases en la que […]
Java Mixins, un ejemplo sencillo
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 […]
Java String Pool , un concepto importante
¿Qué es el Java String Pool? . Muchas veces cuando trabajamos con Java tenemos que comparar objetos y tipos básicos entre ellos. Si recordamos de otro artículo anterior , para comparar tipos básicos usamos el operador == que es el operador de comparación . Por otro lado si comparamos objetos usamos el método equals(). Hasta aquí todo […]
JDBC ResultSet Types y su funcionamiento
Vamos a echar un vistazo a los distintos JDBC ResultSet Types que existen. Recordemos que el API de JDBC es parte del temario de la certificación de Java Programmer. Es curioso que aunque usamos habitualmente JDBC nuestro conocimiento sobre él es en muchos casos superficial. Hoy hablaremos sobre los tipos de ResultSets que existen, para ello partiremos […]
Las versiones de Java y su historia
El concepto de Java Shadow Variables
El concepto de Java Shadow Variables a veces resulta difícil de entender y es una de las preguntas típicas de los examenes de certificación. ¿ Qué son exactamente las shadow variables o variables de sombra? . Vamos a explicarlo utilizando un diagrama de clases de Herencia. Las Java Shadow variables son variables que tienen […]
Java Fluent Interface y Properties
Utilizar un Java Fluent Interface suele ser muy práctico pero lamentablemente no todas las APIs lo soportan. Recordemos que los Fluent Interfaces o interfaces fluidos nos permiten trabajar de una forma más cómoda cuando programamos. Vamos a ver un ejemplo de una clase Java que no soporta un enfoque fluido y como podemos adaptarla para que […]
Java this vs this()
Java this vs this() es una pregunta habitual cuando comenzamos a trabajar con este lenguaje. ¿Para qué vale exactamente el operador this y en que situaciones la utilizamos?. Vamos a ver varios ejemplos de situaciones en las cuales se puede usar este operador. Este código compila pero no funciona correctamente ya que estamos igualando la […]
El concepto de Java 8 reference method
Java 8 reference method es uno de los conceptos que llegan con las nuevas expresiones lambda que vienen en el JDK 8 ,vamos a explicarlo paso a paso. Hasta este momento en Java existían dos conceptos fundamentales, las clases y los interfaces. Con la llega de Java 8 aparecen las expresiones lambda: Estas expresiones nos […]
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 […]