如果自己编译一个和 java.lang.String 完全相同的类,可以编译成功吗?可以加载成功吗?
考察说明
考察对 Java 类加载机制、签名类加载限制和 rt.jar 安全性的理解
回答思路
- 能说明编译需要依赖 rt.jar,自定义相同类可能编译失败或产生签名错误
- 能解释加载阶段通过类名命名空间无法覆盖已有类,findLoadedClass 会优先返回系统类
- 能说明未命名模块虽然可以定义同名类,但加载时会被系统的类加载器优先处理,自定义类不会被使用
- 能补充安全机制(如 jimage 映射、全限定名冲突校验)和典型场景(如错误使用自定义集合类)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。