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