我有這個循環運行大約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