なるほど、自動収集とかで増やしているのね。ちょっと興味深い話題だった。
http://gigazine.net/index.php?/news/comments/20080428_gakusei_enjapan_2009/
Challange IT For Future
なるほど、自動収集とかで増やしているのね。ちょっと興味深い話題だった。
http://gigazine.net/index.php?/news/comments/20080428_gakusei_enjapan_2009/
これは興味深いな。あとで試そう。
String.java を見てみる。String は value(char配列), offset(valueの開始ポイントでint), count(文字数でint)を保持する。これらは final なので変更できない。基本的に、new したときにoffsetは0でvalueのchar配列に突っ込む。興味深いのは、substringしたときは、効率をあげるため、元のStringのvalueを利用して、offset で調整する(ということは、でっかい文字列をsubstringして、そのStringをセッションに突っ込んでおくと、でっかい文字列が保持されるのだろうか・・・)。この処理は、substring内でプライベートなコンストラクタを呼んでやっている(他にも呼ぶ場合があるのかもしれないけど、そこまで見てない)。