哪些部件或包可以从JDK中删除?

时间:2011-08-20 09:30:44

标签: java

jdk中内置了很多软件包,jdk的大小是biger和biger。但我发现有很多我从未使用的套餐,或者他们有更好的第三方替代品。

那么,您认为哪些软件包可以从JDK中删除,或者我们不需要使用它们?

3 个答案:

答案 0 :(得分:3)

  

那么,您认为哪些软件包可以从JDK中删除,或者我们不需要使用它们?

除非你的意思是“我们认为多余”的主观问题(在这种情况下,问题应该并且将很快关闭),你是唯一能够分辨出你不需要的软件包的人。

我不确定,为什么你要删除JDK。 JRE将或许更有意义地剥离具有非常有限资源的系统。如果您希望这样做,Google会提供许多好的网址。

答案 1 :(得分:3)

  

那么,您认为哪些软件包可以从JDK中删除,或者我们不需要使用它们?

我认为削减JRE并不是一个好主意。

让我们考虑一下您可能希望减少JRE的原因:

  • “JRE的规模越来越大”。但是硬盘的大小越来越快。

  • “JRE安装程序的大小越来越大”。但网络的速度越来越快。

  • “JRE正在使用越来越多的内存”。最有可能的不是。正在运行的Java应用程序仅加载它实际使用的JRE类。命令行“hello world”程序不会引入Swing,CORBA支持,XML解析器或其他任何不使用的程序。

  • “但它正在使用太多内存”。真?如果您这么认为,请考虑使用Java ME ....并学习如何使用缩减类库的缺点。

并回答你的问题。我不认为应该删除它们中的任何一个。它们在某些时候对很多人都很有用。如果从标准JRE中删除了这些软件包中的任何一个,它将破坏许多现有应用程序的兼容性。

在实际不需要的情况下,包装的成本非常低。至少,不是在大多数用例中。


实际上,Sun / Oracle已经做了很多工作来减少占用空间并改善JVM启动时间。上次我看来,关于这方面的更多工作已经列入Java 8的议程。


如果你正在考虑为自己做这个,这里有一些免费的建议:

  

不要做

IANAL,但据我所知,创建和发送JRE的简化二进制版本违反了Java软件许可,以及允许您使用Java,JRE等商标用语的条件。

答案 2 :(得分:0)

我想到的第一件事就是项目Jigsaw我不确定它是否仍然活跃,但应该仍然是一个很好的起点。

相关问题