1. 程式人生 > 程式設計 >Java記憶體釋放實現程式碼案例

Java記憶體釋放實現程式碼案例

先貼程式碼:

StringBuilder dada = null;
    for(int i=0; i<1000; i++){
      dada = new StringBuilder();
      for(int j=0; j<1000; j++){
        dada.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
      }
      
    }
    System.out.println("釋放前");
    StringBuilder dada1 = new StringBuilder() ;
    dada1.append("1");
    dada = dada1;
    System.out.println("釋放後");

放在內層,可見每次使用記憶體是74,000K多的記憶體,而,如果放到迴圈的外面,

StringBuilder dada = dada = new StringBuilder();;
    for(int i=0; i<1000; i++){
      for(int j=0; j<1000; j++){
        dada.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
      }
      
    }

就只會將資料一致累加的去處理,這樣資料就大量的堆積起來了,

檢視記憶體可看出是下面一種寫法的記憶體是220,000K多的記憶體.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。