栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java

局部变量的范围应始终尽可能小。
在你的例子我相信

str
是不会使用的外while循环,否则你就不会问这个问题,因为它声明的内部while循环不会是一个选项,因为它不会编译。

所以,既然

str
是不使用外循环,在尽可能小的范围
str
是内 while循环。

所以,答案是着重那

str
绝对应该被while循环内声明。没有,没有,没有,但是。

可能违反此规则的唯一情况是,由于某种原因,每个时钟周期都必须从代码中挤出是至关重要的,在这种情况下,你可能需要考虑实例化外部作用域并重用它而不是在内部范围的每次迭代中重新实例化它。但是,由于java中字符串的不可变性,因此这不适用于你的示例:

str
的新实例将始终在循环开始时创建,并且必须在循环结束时将其丢弃,因此无法在那里进行优化。

编辑:(将我的评论插入下面的答案中)

在任何情况下,正确的处理方式是正确编写所有代码,为产品建立性能要求,根据该要求评估最终产品,如果不满足要求,则进行优化。通常最终会发生的事情是,你找到了在几个地方提供一些不错的正式算法优化的方法,从而使我们的程序能够满足其性能要求,而不必遍历整个代码库并对其进行调整和修改。为了在这里和那里挤压时钟周期。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号