2009-08-18 61 views
3

我可以删除任何隐式导入的Java库吗? 这看起来可能不太有用。 但我认为这可能会减少一些执行时间!我可以删除任何隐式导入的Java库吗?

+1

你是什么意思隐式导入Java库? – 2009-08-18 14:32:21

+0

like java.lang 我可能不想要它的所有类! – RubyDubee 2009-08-18 14:33:57

回答

22

进口只是句法糖。他们所做的一切就是让你访问其他软件包中的东西,而无需声明其完全限定的名称。生成的代码与完全符合所有条件的代码完全相同。因此,导入时没有运行时性能损失。

这也适用于“隐式导入”(即:java.lang):您不支付任何实际使用的类的价格。

+0

ya!谢谢大家! 我不知道进口不加载所有类! – RubyDubee 2009-08-18 14:42:03

+2

优秀的答案 - 简洁但非常清晰 – Jonik 2009-08-18 14:49:23

4

这对执行类型没有任何影响 - 我认为我是正确的,默认情况下,类只在需要时加载,而不是在启动时加载。

为了提高性能,您需要使用类似Visual VM这样的工具来分析您的应用程序,并解决其识别的瓶颈问题(该问题永远不会在您期望的位置)。

3

Java不包含程序中java.lang。*中的所有类。编译器只包含你明确使用使用(或使用,使用等等)。