Cache which java classes are in a jar when opening jar the first time during classloading
Alan Bateman
Alan.Bateman at oracle.com
Mon Aug 31 10:07:28 UTC 2015
On 31/08/2015 04:02, Jonathan Yu wrote:
> Hi Adrian,
>
> It's possible for jar files to be modified while the JVM is running - is
> there some facility for detecting that an archive was modified and thus
> invalidating the cache?
>
Modifying a JAR file that is in use leads to unpredictable behavior and
can even cause crashes too (when JAR/zip files are memory mapped). That
said, the class path can extend over time, the most obvious being when
JAR files have the Class-Path attribute. It is possible to construct a
cache at run-time that is package name -> the first JAR file containing
that package but at the cost of scanning the contents of JAR files
(probably on open). There was a lot of experiments and prototypes in the
past along these lines.
-Alan.
More information about the core-libs-dev
mailing list