OutOfMemoryException แม้จะใช้ WeakHashMap
หากไม่โทรSystem.gc()ระบบจะส่ง OutOfMemoryException ฉันไม่รู้ว่าทำไมฉันต้องโทรหาSystem.gc()อย่างชัดเจน JVM ควรเรียกgc()ตัวเองใช่ไหม กรุณาแนะนำ ต่อไปนี้เป็นรหัสทดสอบของฉัน: public static void main(String[] args) throws InterruptedException { WeakHashMap<String, int[]> hm = new WeakHashMap<>(); int i = 0; while(true) { Thread.sleep(1000); i++; String key = new String(new Integer(i).toString()); System.out.println(String.format("add new element %d", i)); hm.put(key, new int[1024 * 10000]); key = null; //System.gc(); } …