`

类加载器加载的类的访问权限问题

    博客分类:
  • java
 
阅读更多
1.父加载器加载的类不能访问子加载器加载的类。 (向下可见性)
2.子加载器加载的类可以访问父加载器加载的Public类,但不能访问父加载器加载的包访问范围的类和方法。(包访问权限)
3.不同加载器加载的类不能强制转化。 A a=(A) b;


java.lang.Virus是不能访问JAVA API中的java.lang中的类

是指Virus不能访问java.lang包中的包访问修饰符的内容
java的访问修饰符有private,public等,默认的就是包访问

比如,如果String类中有一个方法methodA(),是包访问的范围,那么java.lang包中的类就可以调用这个方法,而java.lang包外的类不能调用String的这个方法

java.lang.Virus跟String都是java.lang包中的,但Virus是子加载器加载的,所以它的包范围就仅限于子加载器加载的java.lang包,访问不到String的methodA() 


public修饰符是没有这个限制的,只要父加载器中加载的public方法都可以访问
分享到:
评论

相关推荐

    自定义Java类加载器

    - **安全沙箱**:每个加载器都有自己的命名空间,可以通过自定义加载器限制代码访问权限。 - **插件系统**:插件有自己的类加载器,使得插件可以独立于主程序加载和卸载。 在编写`MyClassLoader`时,需要注意的是,...

    java 类加载器 class loader

    这种设计保证了类的唯一性,防止了不同类加载器加载相同类的问题,同时提供了安全控制,例如防止恶意替换核心类。 在上述描述的实验中,尝试创建一个位于`java.lang`包内的类`Test`,并通过私有构造函数`String(int...

    JVM(三):类加载机制(类加载过程和类加载器)1

    系统提供了几个内置类加载器,如Bootstrap ClassLoader(引导类加载器)、Extension ClassLoader(扩展类加载器)和AppClassLoader(应用类加载器)。此外,用户可以自定义类加载器来实现特定加载需求,如Android...

    实现对java类的递归加载

    因此,在设计类加载器时,需要考虑权限控制,确保只有经过验证的类才能被加载。 5. **线程安全**:在多线程环境中,类加载器必须是线程安全的。这意味着在类加载过程中需要进行适当的同步控制,避免并发加载同一类...

    Java动态类加载机制应用研究.pdf

    此外,通过自定义类加载器,可以对加密的字节码进行解密,这样就保证了代码的安全性,防止了未授权访问。 文章总结出Java语言因其动态类加载机制而具有强大的灵活性和安全度,能够很好地保护代码安全。动态加载机制...

    深入理解java类加载机制

    验证阶段,JVM对加载的字节码进行详细的语法和语义检查,包括检查类结构的正确性、访问权限、操作数栈和局部变量表的合法性等。这是确保Java平台安全性的关键步骤。 准备阶段,JVM为类变量分配内存并赋予默认初始值...

    易语言 内存加载器

    5. **内存保护**:在进行内存操作时,加载器必须考虑到内存保护机制,如页面权限设置。错误的操作可能导致程序崩溃或安全问题,因此正确处理这些细节至关重要。 6. **异常处理**:由于内存操作的潜在风险,内存加载...

    安卓换肤主题更换夜间模式相关-有两个工程宿主中加载插件apk中的图片实现换肤功能使用反射类加载器实现.rar

    本示例项目涉及的核心知识点主要集中在两个方面:一是如何实现动态换肤,二是如何利用反射和类加载器技术来加载插件APK中的资源,从而实现主题更换。下面将详细讲解这两个关键点。 1. **动态换肤主题更换**: - ...

    Android动态加载(下)——加载已安装APK中的类和资源

    接着,我们需要创建一个 DexClassLoader实例,传入APK的路径作为 Dex文件的位置,以及原始的类加载器作为父加载器。代码示例如下: ```java DexClassLoader dexClassLoader = new DexClassLoader( apkPath, // ...

    安卓-OTG-USB网卡加载器

    总的来说,安卓-OTG-USB网卡加载器是为了解决安卓设备在没有内置Wi-Fi或Wi-Fi故障时的联网问题。它通过OTG接口扩展了设备的功能,使得用户可以在任何有USB接口的地方实现无线网络连接,增加了设备的灵活性和实用性。...

    《 从NoSuchMethodError看jvm编译和class加载方式》的测试项目代码

    3. **混淆或优化问题**:在进行代码混淆或优化时,方法名、参数类型或访问权限发生变化,导致无法找到原方法。 在“jar-duplicate-test”这个测试项目中,很可能是模拟了类加载冲突或者重复类的情况。例如,项目中...

    antsword蚁剑の加载器&源码

    由于在线下载源码速度较慢,提供本地的加载器可以极大地提高工作效率,避免因网络问题导致的使用不便。 二、AntSword源码 源码是软件开发的基础,对于AntSword而言,公开源码意味着开发者和安全研究者可以深入理解...

    动态调用其他Apk中的类so加载失败问题测试工程

    这些类加载器允许我们在运行时加载不在原始 APK 中的类。对于.so文件,Android 提供了`System.loadLibrary()`方法,它会根据应用的`lib`目录加载相应的原生库。 3. **跨应用加载.so问题** 当试图从一个应用(AppA...

    Java里的权限实现

    Java的权限实现主要依赖于访问修饰符、包机制、类加载器以及安全管理器。本文将深入探讨这些概念,帮助开发者理解如何在Java中有效地实施权限管理。 首先,我们从最基础的访问修饰符开始。Java提供了四种主要的访问...

    【JVM】类的奇幻漂流——类加载机制探秘

    - 将二进制数据读入内存,创建类的元数据,包括方法代码、变量名、方法名、访问权限和返回值等信息。 - 将元数据存储在方法区(Java 7及以后的元空间)。 - 在堆内存中创建一个Class对象,作为类的表示,用于封装...

    Java加载配置文件工具类

    4. **异常处理**:在加载过程中,可能会遇到文件不存在、权限问题、格式错误等异常。工具类应该包含适当的异常处理机制,确保程序的健壮性。 5. **缓存与更新**:为了提高性能,工具类可能实现缓存机制,避免频繁...

    C#动态加载菜单和权限

    此外,也可以利用`Authorize`特性来标记那些需要特定权限才能访问的方法或控制器。 5. **数据访问和持久化**:菜单和权限信息通常存储在数据库中。这可能涉及到Entity Framework或其他ORM工具进行数据访问,以及...

    Extjs4.2 动态加载项目(权限模块)

    例如,当用户访问特定功能时,系统才会加载相应的控制器、模型、视图等。这可以通过`Ext.Loader`对象的配置和使用`requires`或`uses`关键字来实现。 2. **权限模块**:在企业级应用中,权限管理是非常关键的一环。...

Global site tag (gtag.js) - Google Analytics