# HG changeset patch # User ksrini # Date 1286911244 25200 # Node ID 6afd3474895bea1693be7f7728d6c6d79313bcb2 # Parent 83b7b1e3301ca4f306815701fc16269063865005# Parent b74bcf130b673f73b478f8ff172a508755cdc1aa Merge diff -r 83b7b1e3301c -r 6afd3474895b jdk/src/share/classes/sun/net/www/MimeTable.java --- a/jdk/src/share/classes/sun/net/www/MimeTable.java Thu Oct 07 14:35:14 2010 -0700 +++ b/jdk/src/share/classes/sun/net/www/MimeTable.java Tue Oct 12 12:20:44 2010 -0700 @@ -73,29 +73,32 @@ private static final String filePreamble = "sun.net.www MIME content-types table"; private static final String fileMagic = "#" + filePreamble; - private static MimeTable defaultInstance = null; MimeTable() { load(); } + private static class DefaultInstanceHolder { + static final MimeTable defaultInstance = getDefaultInstance(); + + static MimeTable getDefaultInstance() { + return java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public MimeTable run() { + MimeTable instance = new MimeTable(); + URLConnection.setFileNameMap(instance); + return instance; + } + }); + } + } + /** * Get the single instance of this class. First use will load the * table from a data file. */ public static MimeTable getDefaultTable() { - if (defaultInstance == null) { - java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Void run() { - defaultInstance = new MimeTable(); - URLConnection.setFileNameMap(defaultInstance); - return null; - } - }); - } - - return defaultInstance; + return DefaultInstanceHolder.defaultInstance; } /**