Re: [問題] 幾個java的問題?
※ 引述《ryan11 (我叫雷恩)》之銘言:
: 1.我這個new是不是在每次loop中都會產生一個物件不會消失
: 會愈來愈多?
: public static void main(String[] args){
: while(doesContinue){
: ...
: Document doc = builder.parse(new File(xmlFile));
: ...
: }
: }
ans : 不會,java的gc是一條thread,當一個物件不被任何東西reference到
的時後,就會在下次gc啟動的時後回收掉,gc會回收這類的垃圾物件,
但不保證在那一個時刻回收。
: 2.這樣是否每次參考(theXMLFile)都被指派到新的物件上
: 而上一個loop所指派的物件就回收了, 所以不會產生太多物件
: public static void main(String[] args){
: while(doesContinue){
: ...
: File theXMLFile = new File(xmlFile);
: Document doc = builder.parse(theXMLFile);
: ...
: }
: }
ans : 的確是都會被指派到新物件上,而上次loop指派的物件是會被回收,
但跟第1個問題一樣,不保證在什麼時後回收,極端點講,也許loop跑
了3次,gc才啟動一口氣回收3個new File(xmlFile)。
: 觀念不是很好
: 請各位指點迷津
: 先謝謝了m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.184.223
推
02/23 12:57, , 1F
02/23 12:57, 1F
推
02/23 19:17, , 2F
02/23 19:17, 2F
→
02/23 19:19, , 3F
02/23 19:19, 3F
推
02/23 21:55, , 4F
02/23 21:55, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):