summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/DynamicClassLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/DynamicClassLoader.java')
-rw-r--r--src/jvm/clojure/lang/DynamicClassLoader.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/DynamicClassLoader.java b/src/jvm/clojure/lang/DynamicClassLoader.java
index e85071a0..17fa5a10 100644
--- a/src/jvm/clojure/lang/DynamicClassLoader.java
+++ b/src/jvm/clojure/lang/DynamicClassLoader.java
@@ -12,6 +12,7 @@
package clojure.lang;
+import java.lang.ref.Reference;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -22,8 +23,8 @@ import java.lang.ref.SoftReference;
public class DynamicClassLoader extends URLClassLoader{
HashMap<Integer, Object[]> constantVals = new HashMap<Integer, Object[]>();
-static ConcurrentHashMap<String, SoftReference<Class>>classCache =
- new ConcurrentHashMap<String, SoftReference<Class> >();
+static ConcurrentHashMap<String, Reference<Class>>classCache =
+ new ConcurrentHashMap<String, Reference<Class> >();
static final URL[] EMPTY_URLS = new URL[]{};
@@ -48,7 +49,7 @@ public Class defineClass(String name, byte[] bytes, Object srcForm){
}
protected Class<?> findClass(String name) throws ClassNotFoundException{
- SoftReference<Class> cr = classCache.get(name);
+ Reference<Class> cr = classCache.get(name);
if(cr != null)
{
Class c = cr.get();