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多的內存.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM