code: public void unloadClass(String className) {
  		if(logger.isLoggable(Level.FINEST)) {
  			logger.finest("Unloading class " + className);
  		}
  
  		if(classes.containsKey(className)) {
  			if(logger.isLoggable(Level.FINEST)) {
  				logger.finest("Removing loaded class " + className);
  			}
  			classes.remove(className);
  			try {
  				classpathResources.unload(formatClassName(className));
  			} catch(ResourceNotFoundException e) {
  				throw new JclException("Something is very wrong!!!"
  						+ "The locally loaded classes must be in synch with ClasspathResources", e);
  			}
  		} else {
  			try {
  				classpathResources.unload(formatClassName(className));
  			} catch(ResourceNotFoundException e) {
  				throw new JclException("Class could not be unloaded "
  						+ "[Possible reason: Class belongs to the system]", e);
  			}
  		}
  	}
docs: Attempts to unload class, it only unloads the locally loaded classes by
  JCL
  
  @param className