1.10 类装载器
java.lang.ClassLoader类及其子类可以让新代码动态地加载到JVM中。每一个类都提供了装载它的ClassLoader的链接。此外,每一个类装载器类都有一个装载它的父类装载器,类装载器的顶端称为根类装载器。因为ClassLoader?被设计成抽象的,所以它不能被实例化。所有的继承自SecureClassLoader的类装载器都继承自ClassLoader。SecureClassLoader对其方法进行的权限安全检查,在它的子类中也会同样进行。SecureClassLoader定义了getPermissions()方法,通过这个方法可以指明被类装载器装载的类所具有的权限。通过这种方式提供的保护机制,可以限制非受信的代码装载额外的类。
遗憾的是,被不同的类装载器载入的类总是不同的。为了那些非受信代码的安全性,package-private(即默认的)访问权限可以认为和private访问权限是一样的。
时间: 2024-09-28 06:23:26