当前位置: 首页 > 面试题库 >

未使用的导入和对象是否会对性能产生影响

乐正峰
2023-03-14
问题内容

我怀疑Java代码中未使用的导入和未使用的对象是否会对性能产生影响?

假设一个对象已初始化并且从未使用过,会发生什么?未使用进口的成本是多少


问题答案:

这是一个非常普遍的问题。

像大多数性能问题一样,最好的方法是编写最清晰,最简单的代码,因为这样可以提高代码的可维护性,并有助于确保代码即使更改后也能正常运行。(聪明/难以理解/不必要地开始,详细的代码可以快速运行,但是由于只是凡人而改变,它的运行速度会慢得多)

未使用的导入对编译器有微不足道的影响,但是字节码或运行时中没有导入。

可以对未使用的对象进行优化,但是最好避免使用这些对象,因为它们几乎总是会影响性能,但是更重要的是,使阅读和维护代码更加困难。



 类似资料:
  • 使用时,是否有需要考虑的性能影响? 我正在编写一个从目录检索文件的查询,这就是查询: 那么,在决定进行这样的转换时,是否应该考虑某种性能影响--还是只在处理大量文件时才考虑?这是一个可以忽略不计的转换吗?

  • 问题内容: http://msdn.microsoft.com/zh- CN/library/system.data.sqlclient.sqlparametercollection.addwithvalue.aspx 我习惯于使用add()函数将sql参数添加到sqlCommand中。这使我可以指定sqlParameter的类型,但是需要另一行来设置值。 使用AddWithValue函数很好,但

  • 为什么以下未有效使用的行(在方法中:getAllDefinedVars)会对最终结果产生影响: List collect=AllVars.Stream().Filter(v->false).collect(Collectors.ToList()); 如果我删除整个方法和调用此方法的一行代码(generateOneSetOfBools中的第一行),我最终会得到另一个结果。 如果... 提到的行对列表

  • 我正在设计高通量系统,在那里我将有几个生产者。 我的主题将被分割。生产者将发送记录作为键值对。 键将用于对数据进行分区。 消费者将被组织在消费者组中(他们将被分配相同的组id,以便他们可以同时使用来自同一主题但来自不同分区的消息)。 Kafka保证消息在单个分区中的顺序。 消费者将被分配公平份额的分区。 唯一让我担心的是,我的分区键不会以循环方式分发消息,有些分区可能比其他分区更忙。 问:不均匀的

  • 问题内容: 亚马逊称该 加密和解密是透明处理的,因此您无需修改​​应用程序即可访问数据 我的应用程序(Rails,MySQL,Elasticsearch)构建了大量图形,因此查询了许多数据。根据我以前对数据库加密的经验,它确实会影响数据的检索速度(因为我们只能说记录在读取和解密后是否符合条件)。 有没有相关的基准?或者,也许您曾经使用过AWS的这种服务器端加密?我是否完全需要担心性能变化? 对我来

  • 是否可以/允许/建议在生产中始终在“细节”级别启用NMT: