Java:是否可以关闭包(限制向其中添加类)

标签 java security package

标题几乎说明了一切。 如果我提供一个库并且有人使用它,他可以编写类并将它们添加到我的库定义的包中。然而,这会引起安全问题,因为这意味着他可以访问库中没有访问修饰符定义的方法。

是否有解决方案禁止用户向现有包添加类?

最佳答案

是的(但是)。 sealed list 属性将密封包,防止包含其他来源的类。 (technote)

虽然这有点取决于上下文。如果使用它的人首先使用库 jar 文件,那么游戏就结束了。

如果库和客户端代码都由同一个类加载器加载,那么通常会出现问题,尽管使用不同签名签名的类不能在同一包中共存。即使存在父子关系,如果使用不同的类加载器,那么在运行时,不同类加载器加载的同名包是不同的包。

对于 Java PlugIn 和 Java WebStart,Trusted-Library list 条目会导致 jar 滑入父类加载器,从而保护它免受潜在不受信任的应用程序代码的影响。

关于Java:是否可以关闭包(限制向其中添加类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23843780/

相关文章:

java - Selenium POM 和 TestNG NullPointer 异常

java - Spring Oauth 和登录成功时安全重定向到/login

security - 检测 Web 应用程序中的可疑行为 - 要​​查找什么?

java - 在recyclerview中禁用键盘弹出java对话框

java mysql 外键约束

Java 全局变量作用域

c - 有关 glibc 堆保护机制的信息?

java - 无法使用 getApplicationInfo 从名称获取子包

java - 在对 Java 代码进行逆向工程时,EA 能否像 Visual Paradigm 一样显示包之间的依赖关系?

package - 在 Julia 中,如何取消 -`dev` 包?