●●JAVAって死滅しちゃうの???? PART2●●
■ このスレッドは過去ログ倉庫に格納されています
0702404
NGNG>余計なところを開放する事もないですし。
余計なところを開放することもない=余計なメモリを食っているってことでっせ。
GCの便利なところは、一つのインスタンスに複数のリファレンスを持ったときの
解放タイミングを把握する必要がないとか、リファレンスの上書きによるリークを防げるとかあるけど、
前者は参照カウンタモデル(例えばスマートポインタ,COM)、
後者はSAFE_NEW,SAFE_DELETEマクロで回避できる部分も有る。
>classにしてもそう違いはないきがするんですけど。
Javaの場合はクラスは無条件にObjectクラスから派生させられる。
つまり最低限1つのバーチャルテーブルへのリファレンスが加わるわけだ。
構造体では16バイトですむものが、クラスでは実質20バイト以上食っていることになる。
>スタックに置くか、ヒープに置くかで結構違うんですか?
インスタンスの生成速度、通常10〜100倍以上は軽く違う。
またローカルオブジェクトまでヒープに取った場合、メモリの断片化を引き起こす
>スタックというか、ローカルなオブジェクトが作れないと言う意味ですか?
ローカルなオブジェクトにまで無駄にコストがかかるという意味。
■ このスレッドは過去ログ倉庫に格納されています