package test_fb_api; import java.util.ArrayList; import java.util.List; public class testMemory { public static void main(String[] args) { int kb = 1024; //Getting the runtime reference from system Runtime runtime = Runtime.getRuntime(); //Print used memory System.out.println("Used Memory:" + (runtime.totalMemory() - runtime.freeMemory()) / kb); //Print free memory System.out.println("Free Memory:" + runtime.freeMemory() / kb); //Print total available memory System.out.println("Total Memory:" + runtime.totalMemory() / kb); //Print Maximum available memory System.out.println("Max Memory:" + runtime.maxMemory() / kb); Listlist = new ArrayList<>(); for (int i = 0; i < 100000; i++) { for (int j = 0; j < 10000; j++) { list.add("abcdefghij" + i + j); } if (i % 200 == 0) { try { System.gc(); Thread.sleep(100); System.out.println("Free Memory:" + runtime.freeMemory() / kb + " Kb"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } System.out.println("done"); } }
you can add code to line38 to monitoring
1. list.clear 2. list = new list();
ref:http://stackoverflow.com/questions/6757868/map-clear-vs-new-map-which-one-will-be-better
沒有留言:
張貼留言