On 10/12/2014 12:40 PM, Peter Levart wrote:
I also wonder if the lazy loading of Manifest in CachedManifest is necessary. If you look at the only usage of CachedManifest.getManifest() method (in Package.defineSystemPackage()):

        CachedManifest cachedManifest = createCachedManifest(fn);
pkgs.putIfAbsent(name, new Package(name, cachedManifest.getManifest(),
                cachedManifest.getURL()));

...you can see that getManifest() is called immediately after obtaining the CacheManifest. So there's no need for lazy loading. Loading the Manifest in CachedManifest constructor would be just fine.


..Ah, you can do that, yes, but then you have to use synchronization in createCachedManifest in order to avoid redundant concurrent loading of Manifest. And that would be a good thing since then you avoid concurrent resolving of fileName -> URL too in one go.

Peter

Reply via email to