--- old/src/share/classes/sun/font/SunLayoutEngine.java 2012-06-18 17:07:15.064074220 +0400 +++ new/src/share/classes/sun/font/SunLayoutEngine.java 2012-06-18 17:07:10.856753474 +0400 @@ -35,6 +35,7 @@ import java.lang.ref.SoftReference; import java.util.HashMap; import java.util.Locale; +import java.util.concurrent.ConcurrentHashMap; /* * different ways to do this @@ -129,9 +130,10 @@ // !!! don't need this unless we have more than one sun layout engine... public LayoutEngine getEngine(LayoutEngineKey key) { - HashMap cache = (HashMap)cacheref.get(); + // Using ConcurrentHashMap instead of HashMap to resolve 7027300 + ConcurrentHashMap cache = (ConcurrentHashMap)cacheref.get(); if (cache == null) { - cache = new HashMap(); + cache = new ConcurrentHashMap(); cacheref = new SoftReference(cache); }