作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
<分区>
以下示例描述了Java 9之前的以下代码行的生成。
List data = new ArrayList<>();for (String b : data);
public class Test
{
public Test() {}
public static void main(String[] paramArrayOfString) throws IOException {
ArrayList localArrayList = new ArrayList();
String str;
for (Iterator localIterator = localArrayList.iterator(); localIterator.hasNext(); str = (String)localIterator.next()) {}
}
在 Java 10 中,迭代器变量在 for 循环之外声明,并在操作结束后立即初始化为 null 值,因此 GC 可以清除未使用的内存。
{
Iterator iterator = data.iterator();
for (; iterator.hasNext();)
{
String b = (String)iterator.next();
}
b = null;
iterator = null;
}
在 for 循环结束时将引用设置为 null 与引用超出范围相比有何显着优势。
来源:https://dzone.com/articles/features-in-java-10
此外,添加评论中的链接:https://bugs.openjdk.java.net/browse/JDK-8192858
我是一名优秀的程序员,十分优秀!