[問題] Java heap space (已爬文)
JVM能吃的Memory有限,所以我有幾個問題想請教各位神人
平常在程式撰寫的時候,都用什麼方式節省記憶體?
再者是我的一部份程式碼,用途是讀取頁面原始碼
public String getHtmlCode(String url,String encode)throws IOException{
StringBuffer sb = new StringBuffer();
if(checkUrl(url)){ //這個地方是判斷是不是我要的網頁
try {
toConnection(url);
br = new BufferedReader(new InputStreamReader(urlConn.
getInputStream(), encode));
int count = 0;
String line = "";
while ((line = br.readLine()) != null && count<= 700 ) {
//為了不讓資料過大,所以只讀取700行的原始碼
sb.append(line.intern());
count++;
}
br.close();
toDisconnect();
} catch (Exception e) {
System.out.println("Paser: " + e);
}
this.htmlcode = sb.toString();
}
return this.htmlcode;
}
我的Project出現Java heap space的問題,目前懷疑是這部份的程式碼
在程式離開這個method之後,htmlcode是否會立即被回收(釋放空間)?
又例如
String htmlcode = getPageHtml(url_1);
htmlcode = getPageHtml(url_2);
那麼JVM中原本儲存的700行url_1的資料,是不是不會被馬上釋放?
最近對於節省記憶體有點頭大,希望各位多多指教 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.18.52
→
11/23 11:51, , 1F
11/23 11:51, 1F
→
11/23 13:59, , 2F
11/23 13:59, 2F
→
11/23 14:02, , 3F
11/23 14:02, 3F
→
11/23 14:56, , 4F
11/23 14:56, 4F
→
11/23 17:26, , 5F
11/23 17:26, 5F
→
11/23 17:58, , 6F
11/23 17:58, 6F
推
11/23 20:46, , 7F
11/23 20:46, 7F
推
11/23 23:21, , 8F
11/23 23:21, 8F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):