DEPOIS DE TANTO PROCURAR ENCONTREI!!! 
Esta class carrega classes e descarrega do cache pronta para alterações e aplica-las em tempo de execução!!!
Obrigado pela dica…
Para crie um diretório chamado “loadDir” e dentro coloque esta class…
public class HelloWorld {
public void sayHello(String Teste) {
System.out.println("Hello World !!! "+ Teste);
}
}
e depois basta colocar estas classes abaixo em um diretório acima e usa-las para acessar a classe acima e boa!!!
Encontrei isto em um site japonês… cacei muito para achar isto mas ai esta… mas tenho ainda um probleminha… 
Como faço para a class q eu chamo chamar uma outra class dentro de um package??? Só falta isto e fica perfeito… se alguém puder ajudar agradecia…
[ ]'s
Eduardo Fonseca Velasques 
[i]// MAIN CLASS
import java.lang.reflect.*;
public class TestCustomLoadera {
public static void main(String [] args) {
//if(args.length < 2) {
// System.out.println(“Usage Java CustomClassLoader [code repository] [class to load]”);
// System.exit(1);
//}
String repository = “loadDir”;
String classToLoad = “HelloWorld”;
try {
ClassLoader customLoader = new CustomClassLoader(repository);
loadAndInvoke(customLoader,classToLoad);
System.out.println("waiting.Hit Enter to continue");
System.in.read();
System.out.println("Reinstantiating the loader.");
customLoader = new CustomClassLoader(repository);
loadAndInvoke(customLoader,classToLoad);
}
catch(Exception ex) {
System.out.println("Exception raised : " + ex.getMessage());
ex.printStackTrace();
}
}
static void loadAndInvoke(ClassLoader customLoader,String helloClass)
throws Exception {
Class aClass = customLoader.loadClass(helloClass);
Object ClassesObj = aClass.newInstance();
try {
Class[] Parametros = new Class[1];
Parametros[0] = String.class;
Method meth = aClass.getMethod("sayHello", Parametros);
Object[] Valores = new Object[1];
Valores[0] = "Teste";
meth.invoke(ClassesObj, Valores);
} catch (java.lang.Throwable t) {
System.out.println(t);
}
}
}
/**
CustomClassLoader.java
This is a CustomClassLoader implemented according to the Java 1.2 parent delegation
model. It extends java.lang.Classloader & implements the findClass method. The class
loader searches in the searchPath specified in the constructor, to load classes. This
implementation doesnot look for classes in jar/zip files, the searchPath is a list of
directories.
*/
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.StringTokenizer;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.IOException;
public class CustomClassLoader extends ClassLoader {
private List classRepository;//class repository where findClass performs its search
public CustomClassLoader(ClassLoader parent,String searchPath) {
super(parent);
initLoader(searchPath);
}
public CustomClassLoader(String searchPath) {
super(CustomClassLoader.class.getClassLoader());
initLoader(searchPath);
}
/**
This method overrides the findClass method in the java.lang.ClassLoader
Class. The method will be called from the loadClass method of the parent
class loader when it is unable to find a class to load.
This implementation will look for the class in the class repository.
@param className A String specifying the class to be loaded
@return A Class object which is loaded into the JVM by the CustomClassLoader
@throws ClassNotFoundException if the method is unable to load the class
*/
protected Class findClass(String className)
throws ClassNotFoundException
{
byte[] classBytes = loadFromCustomRepository(className);
if(classBytes != null) {
return defineClass(className,classBytes,0,classBytes.length);
}
//else
throw new ClassNotFoundException(className);
}
/*
A private method that loads binary class file data from the classRepository.
*/
private byte[] loadFromCustomRepository(String classFileName)
throws ClassNotFoundException {
Iterator dirs = classRepository.iterator();
byte[] classBytes = null;
while (dirs.hasNext()) {
String dir = (String) dirs.next();
//replace '.' in the class name with File.separatorChar & append .class to the name
//String classFileName = className;
classFileName.replace('.',File.separatorChar);
classFileName += ".class";
try {
File file = new File(dir,classFileName);
if(file.exists () ) {
//read file
InputStream is = new FileInputStream(file);
classBytes = new byte[is.available()];
is.read(classBytes);
break;
}
}
catch(IOException ex) {
//return null
System.out.println("IOException raised while reading class file data");
ex.printStackTrace();
return null;
}
}
return classBytes;
}
private void initLoader(String searchPath) {
//userClassPath is passed in as a string of directories/jar files separated
//by the File.pathSeparator
classRepository = new ArrayList();
if( (searchPath != null) && !(searchPath.equals("")) ) {
StringTokenizer tokenizer = new StringTokenizer(searchPath,File.pathSeparator);
while(tokenizer.hasMoreTokens()) {
classRepository.add(tokenizer.nextToken());
}
}
}
}[/i]