ClassLoader
自定义的类加载器实现
编写一个类,继承ClassLoader类,然后覆盖 findClass()方法。实现该方法时,应注意必须至少做到两点:
1.为本地文件系统或其他来源的类加载其字节码,
2、调用超类的defineClass()方法,向虚拟机提供字节码。
编写自定义类加载器用途
-
可以在向虚拟机传递字节码之间执行定制的检查。
-
加载加密过的类文件,使用秘钥进行解密。
-
为了区分常规的类加载器,对加密的类文件使用不同的扩展名,比如Caesar密码加密的,使用.caesar作为扩展名。
-
加密后的类文件不能被标准虚拟机执行,并且不能轻易被反汇编。
-
用定制的类加载器认证类用户的身份,确保付费许可。
-
加密后将类文件存储到数据库中。
-
解决类冲突,不同版本加载。