It was recently brought to our attention
in Equinox that closing zip and jar files doesn't close the corresponding
streams as specified in the API javadoc. This can result in memory leaks
if you don't explicitly close all streams in addition to closing the zip/jar
file. Since this is a subtle bug with potentially drastic effects, I thought
it worth broadcasting to the Eclipse committer community. You should review
your usage of java.util.zip.ZipFile and java.util.jar.JarFile to see if
this affects your component. See more details on the Performance Bloopers
wiki:
http://wiki.eclipse.org/Performance_Bloopers
This is a good opportunity to remind
everyone about the bloopers page, since it lists many examples we can all
learn from to avoid repeating the same performance mistakes. If you
have your own Eclipse performance blooper cases to share, please add them
to that wiki page, or enter a bug against Eclipse > Platform > Website
with your suggestions. There is also a general Eclipse performance wiki
page, where you can add links to additional performance-related tools and
sources:
http://wiki.eclipse.org/Performance
Thanks to contributor Gary Karasiuk
for bringing this to our attention (bug 255954).