Event Listeners Personalizados en Java

Aunque el patrón Observer está implementado nativamente en Java, a veces necesitamos realizar un manejo de eventos que se adapte mejor a nuestras necesidades.

El problema del manejo de eventos es muy sencillo: Tenemos un objeto que va a ir cambiando de estado. Sin tocar su código, debemos ser capaces de “engancharlo” a otros objetos para que estén pendientes de estos cambios de estado y actúen en consecuencia. Este “enganche” debe poder activarse y desactivarse dinámicamente durante la ejecución.
Although the pattern Observer is implemented natively in Java, sometimes we need to make an event management that suits better our needs.

The problem of event handling is very simple: We have an object that will be changing its state. Without touching its code, we should be able to “hook” to other objects that are pending status changes and act accordingly. This “hook” must be turned on and off dynamically at runtime.
Continúa leyendo Event Listeners Personalizados en Java

La memoria en Java

Como he tenido que empaparme de su funcionamiento, aprovecho y pongo un post sobre conceptos básicos de la memoria en Java.

Para empezar, Java divide la memoria en dos segmentos bien diferenciados:

  • Heap: Objetos del usuario, variables, …
  • Non-Heap/Perm: Código, metadatos, …

La que más nos interesa es la Heap, porque es la que podemos “controlar”. A la memoria Non-Heap (Perm) se le puede configurar el tamaño con el comando MaxPermSize. Pero esto sólo es útil si la aplicación va a cargar o generar dinámicamente muchas clases diferentes.

La memoria heap se divide a su vez en dos generaciones según su tiempo de vida:

  • Young Generation
  • Old Generation

Normalmente la generación joven está compuesta de variables locales y objetos temporales, mientras que la generación vieja suele componerse de estructuras que son necesarias durante toda la ejecución: configuraciones, ventanas gráficas,…
As I had to study their operation, I decided to post about the basic concepts of memory in Java.

To begin wtih, Java divides memory into two distinct segments:

  • Heap: User objects, variables, …
  • Non-Heap/Perm: code, metadata, …

The one that interests us is the Heap, as it is what we can “control”. You can configure the Non-Heap Memory (Perm) size with the parameter MaxPermSize. But this is only useful if the application is loaded or dynamically generate many different classes.

The heap is divided into two generations according to their lifetime:

  • Young Generation
  • Old Generation

Usually the younger generation is composed of local variables and temporary objects, while the older generation usually consists of structures that are necessary during the execution: configurations, viewports, …
Continúa leyendo La memoria en Java

FastJTable

Las JTables Swing de Java por defecto suelen estar poco preparadas para manejar actualizaciones frecuentes y un gran número de columnas. Basándome en el código de Java de Christmas Tree he creado una extensión ligera de JTable que va bastante más rápida a la hora de manejar gran cantidad de filas.
Swing JTables of Java by default usually are not prepared to handle frequent updates and a huge number of columns and rows. Basing on the code of the Java Christmas Tree , I created a lighted version of JTable which is pretty faster when handling huge amounts of data.

Continúa leyendo FastJTable

Pingüinos de Aceitunas

En esta época en la que todo el mundo trata de evangelizarnos, quizás también es el momento de que nosotros demos un paso para expandir el software libre y qué mejor manera que ser sutiles. Básandome en cosas que ví por internet decidí acompañar los tradicionales festines con unas simpáticas aceitunas sin hueso con orejitas de albaricoque.

In this time when everyone is trying to evangelize you, perhaps it’s time we take a step to expand the free software and what better way but to be subtle. Based on things I saw on the internet I decided to accompany the traditional feasts with some nice pitted olives with apricot ears.

The steps to build this delicious penguin are simple:

    

Now, we have our penguin army:

Of course, we can serve this penguins along with delicious cookies or other recipes of penguins. Continúa leyendo Pingüinos de Aceitunas