我有这个循环运行大约1000000次。动态创建对象并将它们存储为字段
while ((line = br.readLine()) != null) {
if(!(line.isEmpty())){
data = new JSONObject(line);
name = (String)data.get("name");
surname = (String)data.get("surname");
ar.put(name, surname); //an array
}
}
什么是有它这样的效率方面的优势(如果有的话)的数据,姓名的领域相比,在运行时创建一个新的动态对象
while ((line = br.readLine()) != null) {
if(!(line.isEmpty())){
JSONObject data = new JSONObject(line);
String name = (String)data.get("name");
String surname = (String)data.get("surname");
ar.put(name, surname); //an array
}
}
甚至没有在GC过程? – user5035902
您正在创建相同数量的对象,因此GC不太可能受到影响。 – Kayaman
什么是GC在这里打扫?你将它们存储在一个数组中,所以仍然引用它们。但是,如果你没有存储它们,GC在两个例子中都会以同样的方式进行清理。 – vlatkozelka