gpt4 book ai didi

java - 我应该在重用方法外还是在重用方法内声明变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:18 29 4
gpt4 key购买 nike

(我以 String 为例,但它可以替换为 Object > MB 的内存)

经常这样做:

private static String mTempString = "";

private static void SomeMethod()
{
mTempString = "Whatever Result";
}

现在我的问题是,如果我要这样写:

private static void SomeMethod()
{
String mTempString = "Whatever Result";
}

并在循环中使用它(例如每秒执行数百次)Java 会知道如何管理内存吗?内存力将是相同的。 (对不起,我现在不能自己测试)

哪个内存效率更高(忽略它们是小变量的事实)

--编辑---在这里找到一篇解释它的优秀文章 http://www.cs.berkeley.edu/~jrs/4/lec/08

最佳答案

尽可能缩小变量的范围。

这很重要有几个原因:

  1. 可读性。如果您在三个不同的地方使用具有四个不同值的变量(见图),您将很难辨别该变量的用途服务。

  2. 错误。如果将单个变量保留在一个明确指定的范围内,则可以减少应用程序中可能出现的错误数量。假设您有那个字符串,并且您希望它在两种方法中具有某种值(value),但它是完全不同的东西。

  3. 目的的意图。我在可读性部分提到了这一点,但是如果您有一个不断被重新定义的 static 变量,那么它的目的就是变得不清楚。通常,静态方法和变量可以独立于对象的状态使用,因此如果对象的状态影响静态变量的值,意图就会变得困惑。

此时我不会太担心内存效率(除非您有大量字符串,但我会说您有件事要担心)。*

*:优化的第一条规则:不要这样做。
优化的第二条规则(仅限专家!):不要这样做。

关于java - 我应该在重用方法外还是在重用方法内声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16765631/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com