* まもなく移轉
當サイトはまもなく移轉します。
* みっくみく事件の決着
驚いた。ドワンゴが殆ど完全に折れる形で、しかもこんなに早く決着が付くとは思はなかった。こんな結末になるとは夢にも思はなかった。
* Quốc ngữ と日本語
ベトナム語は六つの聲調を持つ言語であるが、現在それを表記する爲に用ゐられてゐる Quốc ngữ ではその六声調を書き分ける事が出來るらしい。
* 自然物と信仰/生體機械としての人間/初音ミク/オープンソース戰爭
みっくみくが JASRAC された件には非常にもやもやとさせられる。だから出來るだけ消化しようと試みた。Every man thinketh his burden is the heaviest.
* HsHyperEstraier 0.1
HyperEstraier の Haskell 用バインディングである HsHyperEstraier を公開した。
_
miércoles, 27 agosto 2003
java.lang.Stringはメモリを無駄遣ひする
Cuenta Larga = 12.19.10.9.16; tzolkin = 6 Cib; haab = 4 Mol
[Trackback Ping]
Macでも『伺か』似非&偽林檎スレphase4.0
前スレがdat落ちしたので立て直しました。
BotCli - アーカイブ更新 - #35
http://ccm.sherry.jp/cgi-bin/dita/dita.cgi/botcli/transfer/botcli-35.tar.bz2
□ログ メモリを大幅に無駄遣いしていた問題を解決。これにより、サイズの大きなログを読むと
あらゆる動作がおかしくなる問題も解決。
■メイン 1900バイト制限の条件付きの緩和に伴い、上限を環境設定から設定可能に。
飽くまで事前に長さをチェックしエラーを防ぐ為だけの設定。
_
java.lang.Stringはメモリを無駄遣ひする
Stringはchar[]の文字列そのもの以外にも幾らかのデータを持つてゐる爲、單なるchar[]に比べればメモリの無駄になる事に注意すべきです。この傾向は文字列長が長くなればなるほど顯著になるやうで、大きくても高々2、3キロバイトのボトル一瓶につき100キロバイトもの領域を無駄にしてゐました。詳しい事を知るにはソース(String.java)を入手して讀む必要があるでせう。もしかするとこの問題はVMの動いてゐるOSに依存するかも知れません。
BotCliではスクリプトをchar[]で保持する事で、從來のバージョンで1MB弱のXMLログを讀込むのに何と60MB以上ものメモリ空間を浪費してゐたのを、ログよりも寧ろ少ないくらゐの消費に抑える事が出來ました。XMLログはUTF-8なので日本語を3バイトで表現してゐるのに對し、JavaではUCS-2で保持してゐます。チャンネル名やIfGhostは同一のものが數百囘は現れますが、BotCliはこれを共有します。
ただ、U+FFFF以降の文字が扱へないのは、矢張り寂しいものです。
java.lang.String#internを活用する
Stringには、殆ど使はれてゐないintern()と云ふメソッドがあります。これは別の場所にStringをプールして置き、既にプールされた文字列と同一のもの(equals()が眞を返すもの)があれば、プールされてゐた方を返す、と云ふものです。プールされてゐなければ、internを呼んだ文字列を新たにプールします。
要するに、ある二つの文字列str1とstr2が同一である時、str1.equals(str2)が眞になるのは當然として、str1.intern() == str2.intern()も眞になります。
プールの内容を消去する方法は存在しないやうなので、毎回異なつた文字列をinternし續けると際限無くリークする事になりますが、1000個を越えるやうなオブジェクトに全く同一の文字列の複製を入れる代はりにinternしてStringを共有するのは、メモリの節約と云ふ意味で、良いアイディアでせう。
勿論、VMが終了するまで永久に殘るのが問題になるやうな場合では自力で共有すれば良い譯ですが、internは手輕に使へるのがポイントです。
2002
10
11
12
2003
1
2
3
4
5
6
7
8
9
10
11
12
2004
1
2
3
4
5
6
7
8
9
10
11
12
2005
1
2
3
4
5
6
7
8
9
10
11
12
2006
1
2
3
4
6
7
8
9
10
11
12
2007
1
2
3
4
5
6
7
8
9
10
12
2008
1
4