我只想保留java util
、和包io
,并想从我的 JDK 中删除所有其他包,例如和其他包。nio
math
java.sql
我怎样才能删除它们?
- 因此,如果我编写一些导入已删除包的程序,它将给出错误包不存在。
我只想保留java util
、和包io
,并想从我的 JDK 中删除所有其他包,例如和其他包。nio
math
java.sql
我怎样才能删除它们?
使用 SecurityManager 而不是破解 JDK
我会尽我所能给你最好的答案。
为什么你真的不应该做你想做的事
当您编写代码时,通常同意以可扩展的方式开发代码。也就是说,您的代码可以很容易地插入到其他应用程序中,或者可以很容易地对其进行更改和添加。现在牢记这一原则,让我们回顾一下当您删除程序的可能功能时会发生什么。假设您删除了 SQL 包,并且在将来,您希望后端数据库在您的程序中提供一些持久性。你完蛋了。
Java 的理念,事实上我会说 Java 的主要优势,是它的通用性、一致性和模式的标准化。吸气剂始终是吸气剂。变量(不是常量)以小写字母开头。类具有标准化的结构化方式。所有这些都让 Java 开发变得非常直观。
JDK 是这种一致性的一部分,编辑它是真正影响 Java 的主要观点之一。听起来你想用一种不同的、更紧凑的语言来实现你的程序。
最后,您不知道客户将来可能希望如何扩展您的项目。如果您想从客户那里获得一些可重复的业务,并同时产生良好的声誉,那么您希望在设计代码时考虑到良好的设计实践。
关于您提出的用例。
Object
类的情况下完成。(提示:无限循环并填充堆。)在您的服务器上运行不受信任的代码是一个坏主意。时期。我的建议是重新考虑实施这样的服务是否是一个好主意……考虑到风险,以及如果你的保障措施无效可能会遇到的困难。如果您决定继续,我建议在 JVM 中的安全框中运行不受信任的代码。作为第二层防御,以防 Java 安全受到威胁,我建议在一个隔离的虚拟机中运行“chrooted”服务,或者更好的是,如果遇到问题可以关闭该虚拟机。