En un post anterior veíamos los componentes del API Collections de Java y una recomendación sobre su uso.
Pero en muchas ocasiones el API Collections de Java no es suficiente y tenemos que recurrir a otra librería que sea más eficiente, que ofrezca ciertas funcionalidades,…
Veamos las más importantes:
· Antes Google Collections.
· Guava es un conjunto de librerías utilizadas en varios productos de Google, donde una parte significativa de esta biblioteca está dedicada a las colecciones.
· Colecciones 100% thread-safe
· Interesantes clases MultiSet, Multimap,…
· Utilizado por varios proyectos de Apache
· Útil si se necesitan funcionalidades adicionales como FIFO/LIFO (Queues)
· Clases como OrderedMap,…
· Conjunto de clases cuando sólo se tratan con primitivos (especialmente números). En esos casos Trove aumenta el rendimiento y disminuye sobrecarga.
· Sobre grandes colecciones Trove requiere hasta 3 veces menos Heap que Java Collections (para 100.000 enteros Java requiere 6.3MB de Heap utilizando java.util.HashMap y 1,8 MB cuando se utiliza Trove)
· Apropiada cuando se intentan evitar las pausas largas por GC
· Apropiado cuando se trabajan con colecciones muy grandes de más de 2 ^ 31 elementos
· El motivo principal motivo utilizar Javolution es que las colecciones son deterministas y RTSJ-Safe. Por tanto apropiadas para aplicaciones en tiempo real
· Añade una gran cantidad de métodos de conveniencia para las operaciones más comunes.
· Consume menos ciclos de CPU y Heap


Deja un comentario