February 01, 2011
Mark Wielaard: New GPG key.
Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...
More »
February 01, 2011
Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!.
We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5.
This update contains the following security updates:
The IcedTea project provides a harness to build the source code from OpenJDK6 u...
More »
December/2024
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |
|
|
home > news >
java technology >
using enumerations in for-each statements - five times faster than the jre, without ram limitations
Using Enumerations in for-each statements - five times faster than the JRE, without RAM limitations
I was such happy when years back the JRE was extended by the Collections Framework. It's just so intuitive to use it, and provides virtually anything the average programmer needs. Compared to the older Enumeration interface, this was really much better. And even better was the introduction of the for-each statement, so iterating over a Collection was a breeze. Unfortunately, the old Enumeration interface was already commonly used in lots of APIs like JNDI etc. which couldn't get changed without breaking compatibility, so what to do? The JRE authors solved this problem by providing compatibility factory methods in the Collections class, namely Collections.enumeration() and Collections.list(). While the first was turning a Collection into an Enumeration, the latter allowed using for-each with Enumerations by turning an Enumeration into an ArrayList. So far, so good.
Unfortunately the implementation of Collections.list() is not very smart. While Collections.list() just wraps the collection's iterator by a thin implementation of the Enumeration interface (which needs virtually no time and space), it's a mistery to me why the authors choose to return actually an ArrayList: This decision enforces the implementor to actually allocate RAM large enough to store the complete content of the Enumeration, and then actually copying the content. While this sounds ...
Date: July, 04 2010
Url: http://www.java.net/blog/mkarg/archive/2010/07/04/using-enumerations-each-statements-five-times-faster-jre-without-ram-l
Others News
|