java - GC 和在 for 循环中赋值

标签 java variables for-loop garbage-collection variable-assignment

我有一个 friend 告诉了我以下内容,但我无法给出充分的理由。

someArray =......... 
int a;
for(int i=0; i < someArray; i++) {

a=someArray.get(i).length();
   // Do something
} 

他告诉我,他在 for 循环之外声明了 a 以避免频繁的垃圾回收。

我认为在 for 循环内部声明 a 更具可读性和线程安全性。

但是,如果在 for 循环内声明,不同的实例 a 迭代将被垃圾收集,这一点我无法否认。

对我有什么建议吗?

最佳答案

垃圾收集处理对象。您拥有的是一个原始局部变量a,它将在堆栈上分配。

因此这个问题的整个前提都是错误的。

关于java - GC 和在 for 循环中赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455332/

相关文章:

Java Applet、Internet Explorer 和 Fiddler

python - 将函数与笔记本目录中其他 python 文件中的变量一起使用

C 语言 : BASIC has ? myVar 显示名称和值。在 C 语言中可用吗?

python - Python 中的循环和 if 语句

c# - System.IO.StreamWriter 不会为整个 for 循环写入

java - 如何从数据库填充 Neo4j 关系类型值

java - Java 11 上的 JFileChooser ,翻译成法语的问题

r - 如何使用r中的for循环使用先前的观察来预测下一个时期?

java - google eclipse插件创建的log4j.properties和logging.properties有什么区别?

php - for循环中的动态变量名