« 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


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

« Windows98 | Main | WebsphereStudio5.1.1 »