Java 如果(真)要缩小范围:好主意还是垃圾?
在过去,我不得不创建一些巨大的方法,这些方法不能真正变成一堆较小的方法,因为这样做根本没有任何意义 由于初始化许多变量可能会占用大量内存,因此我问自己,在这些情况下,简单地使用Java 如果(真)要缩小范围:好主意还是垃圾?,java,memory,scope,Java,Memory,Scope,在过去,我不得不创建一些巨大的方法,这些方法不能真正变成一堆较小的方法,因为这样做根本没有任何意义 由于初始化许多变量可能会占用大量内存,因此我问自己,在这些情况下,简单地使用if(true)语句是否有助于减少作用域,从而减少内存负载 示例: if (true) { MyClass obj1 = new MyClass(1); MyClass obj2 = new MyClass(2); } // ...rest of method which does not need obj1 and ob
if(true)
语句是否有助于减少作用域,从而减少内存负载
示例:
if (true) {
MyClass obj1 = new MyClass(1);
MyClass obj2 = new MyClass(2);
}
// ...rest of method which does not need obj1 and obj2
这是一种实用的方法还是纯粹的垃圾?您不需要
if(true)
来减少变量的范围
这就足够了
{
MyClass obj1 = new MyClass(1);
MyClass obj2 = new MyClass(2);
}
您不需要使用
if(true)
来缩小变量的范围
这就足够了
{
MyClass obj1 = new MyClass(1);
MyClass obj2 = new MyClass(2);
}
对你来说,这真的像是可读的代码吗?此外,您认为这将如何减少内存负载?变量将在方法完成之前被垃圾收集,这比等待整个方法结束并看到其变量在此时被垃圾收集要好得多。一个简单的
obj1=null
(和一条注释)将变量赋值为null允许对象的垃圾收集,但它不限制变量的范围。很可能,您不想将变量用于其他任何用途,因此最好关闭范围。根据苏莱曼·杰奈迪的回答,我很高兴地使用大括号,尽管对我来说,它总是限制可读性的范围,而不是垃圾收集。对你来说,这真的像是可读的代码吗?此外,您认为这将如何减少内存负载?变量将在方法完成之前被垃圾收集,这比等待整个方法结束并看到其变量在此时被垃圾收集要好得多。一个简单的obj1=null
(和一条注释)将变量赋值为null允许对象的垃圾收集,但它不限制变量的范围。很可能,您不想将变量用于其他任何用途,因此最好关闭范围。根据苏莱曼·杰奈迪的回答,我很乐意使用大括号,尽管对我来说,它总是限制可读性的范围,而不是垃圾收集。哇,我真的不知道你可以这么做,非常感谢。哇,我真的不知道你可以这么做,非常感谢。