« Windows98 | Main | WebsphereStudio5.1.1 »

2003.12.15

StringBufferの限界に挑戦

ふと思い立って、StringBufferにどのくらいの文字を格納できるのかを試してみました。
使ったソースはこんな感じ。
---------
int cnt = 0;
StringBuffer sb = new StringBuffer();
try {
 while(true) {
  cnt++;
  sb.append("a");
}
} catch (OutOfMemoryError e) {
 System.out.println("限界["+cnt+"]文字");
} catch (Exception e) {
 e.printStackTrace();
}
----------
WindowsXP Pro + JDK1.2.2_013の環境下で、-Xmxパラメータを変更して実験(搭載メモリは1GB)。

-Xmxなし:9437183
-Xmx16M:2359295
-Xmx32M:4718591
-Xmx64M:9437183
-Xmx128M:18874367
-Xmx256M:37748735
-Xmx512M:75497471
-Xmx1024M:75497471

もちろん、それ以外にどのようなオブジェクトが生成されているか(どの程度メモリが消費されているか)によって格納できた文字数は変化しますが、
結構な文字数を格納できるんですねぇ。

|

« Windows98 | Main | WebsphereStudio5.1.1 »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/28275

Listed below are links to weblogs that reference StringBufferの限界に挑戦:

« Windows98 | Main | WebsphereStudio5.1.1 »