You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2015/07/10 10:06:38 UTC
svn commit: r1690219 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java
Author: jahewson
Date: Fri Jul 10 08:06:37 2015
New Revision: 1690219
URL: http://svn.apache.org/r1690219
Log:
PDFBOX-2842: Use SoftReference for FontCache
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java?rev=1690219&r1=1690218&r2=1690219&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FontCache.java Fri Jul 10 08:06:37 2015
@@ -17,6 +17,7 @@
package org.apache.pdfbox.pdmodel.font;
+import java.lang.ref.SoftReference;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.fontbox.FontBoxFont;
@@ -29,14 +30,15 @@ import org.apache.fontbox.FontBoxFont;
*/
public final class FontCache
{
- private final Map<FontInfo, FontBoxFont> cache = new ConcurrentHashMap<FontInfo, FontBoxFont>();
+ private final Map<FontInfo, SoftReference<FontBoxFont>> cache =
+ new ConcurrentHashMap<FontInfo, SoftReference<FontBoxFont>>();
/**
* Adds the given FontBox font to the cache.
*/
public void addFont(FontInfo info, FontBoxFont font)
{
- cache.put(info, font);
+ cache.put(info, new SoftReference<FontBoxFont>(font));
}
/**
@@ -44,6 +46,6 @@ public final class FontCache
*/
public FontBoxFont getFont(FontInfo info)
{
- return cache.get(info);
+ return cache.get(info).get();
}
}