public JClass forName(String name){
  SoftReference<JClass> jClassRef=_classMap.get(name);
  JClass jClass=jClassRef != null ? jClassRef.get() : null;
  if (jClass == null) {
    jClass=_staticClassMap.get(name);
    if (jClass == null) {
      if (name.startsWith("[")) {
        JClass subClass=descriptorToClass(name,1);
        jClass=new JClassArray(subClass);
      }
 else       jClass=loadClass(name);
    }
    _classMap.put(name,new SoftReference<JClass>(jClass));
  }
  return jClass;
}

public JClass forName ( String name ) { SoftReference < JClass > jClassRef = _classMap . get ( name ) ; JClass jClass = jClassRef != null ? jClassRef . get ( ) : null ; if ( jClass == null ) { jClass = _staticClassMap . get ( name ) ; if ( jClass == null ) { if ( name . startsWith ( "[" ) ) { JClass subClass = descriptorToClass ( name , 1 ) ; jClass = new JClassArray ( subClass ) ; } else jClass = loadClass ( name ) ; } _classMap . put ( name , new SoftReference < JClass > ( jClass ) ) ; } return jClass ; }
returns the matching jclass .
