Java Virtal Machine.net

[ News ] rss

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
SunMonTueWedThuFriSat
1234567
891011121314
15161718 192021
22232425262728
293031    

[ Archives News
for 'Java Technology' ]

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

©2002-2019Java-Virtual-Machine.net web editor | easy free website builder | bootstrap button styles | css menu | css slider