![]() |
![]() |
TD3 - Chargement dynamiqueDe $1Table des matièresCe TP a pour objectif d'étudier les mécanismes de chargement dynamique en Java et en particulier le fonctionnement de la classe MyClassLoaderOn veut créer son propre package miage.m1.dynamicLoading; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.security.SecureClassLoader; import java.util.ArrayList; import java.util.jar.JarFile; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class MyClassLoader extends SecureClassLoader { private ArrayList<File> path = new ArrayList<File>(); public MyClassLoader(File classPath) { super(); addPath(classPath); } public void addPath(File classPath) { if (!classPath.exists()) throw new IllegalArgumentException(classPath+" does not exist!"); this.path.add(classPath); } @Override protected Class<?> findClass(String name) throws ClassNotFoundException { byte[] b = loadClassData(name); return super.defineClass(name, b, 0, b.length); } private byte[] loadClassData(String name) throws ClassNotFoundException { ... } }
|
Powered by MindTouch Deki Open Source Edition v.8.08 |