JAVA:對象的清除回收
阿新 • • 發佈:2017-07-10
java:對象的清除
對象的清除,也就是垃圾的回收。
和對象的清除相關的方法有兩個:finalize()和gc().
(1),這個finalize()方法是object類的一個方法,任何一個類都從object繼承了這個方法。
註意finalize()方法是在對象被當做垃圾從內存中釋放前調用,而不是在對象變成垃圾前調用。但這個垃圾回收器的啟用不由程序員控制,並不會一產生垃圾就會被喚起,甚至有可能到程序終止,它都沒啟動的機會。
因此,Java提供了一個System.gc()方法,來強制啟動垃圾回收器來回收,也就是打個電話讓finalize()來清除垃圾。
下面舉個例子:
TCabinetCard cabinetCard=t.gettCabinetCardService().get(strs[1].toString()); if (null==cabinetCard) { session.write("Card Error"); }else if(cabinetCard.getCardType().equals("0")){ session.write(JsonMapper.toJsonString(cabinetCard)); }else if(cabinetCard.getCardType().equals("2")){ //TCabinetCard cabinetCard = new CabinetCard; System.gc(); cabinetCard.setCardType("2");//重新賦值 List list=t.gettCabinetCardService().findList(cabinetCard); session.write(JsonMapper.toJsonString(list)); }else if(cabinetCard.getCardType().equals("1")) { session.write("Super User"); }
不用在new對象
第三個判斷是根據對象中的類型來判斷,前面取過整個對象的屬性,回收當前對象在進行賦值
細節做起
JAVA:對象的清除回收