トップページ⇒tech
16コメント5KB

【Java】ガーベジコレクション【GC】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/09/08(水) 00:19:16
JavaにはC系のfree、delete、デストラクタはない。
それらを行うと負担がかかるらしく、GCというのがいいタイミング?で自動的に破棄する。
オブジェクトが参照を失うと破棄を行いやすくなるらしく、
nullを代入する事でそれを利用できるが、あまりいい方法ではないらしい。
これらが気になる人が、Javaのメモリについて語るスレです。
0002デフォルトの名無しさん2010/09/08(水) 00:21:19
★★Java質問・相談スレッド140★★
http://hibari.2ch.net/test/read.cgi/tech/1279614609/388-404 辺りより

・nullを代入すると、破棄優先度アップ
 →典型的な間違いらしいが、その間違いとは?
・巨大なオブジェクト等には凝ったやり方もある
 →そのやり方とは?
・よく呼び出すメソッドがnewするなら、オブジェクトが大量に作られてしまう?
 →一度newしていれば、それ以上newされない?
  (== nullを代入しnew(delete)され続ける事が無駄とも言える)
・メモリのことは考えずリークしたら再起動
 →長時間使うアプリだと命取りになる事も
0003デフォルトの名無しさん2010/09/08(水) 00:25:31
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0004デフォルトの名無しさん2010/09/08(水) 02:30:12
Objective-CとかやるとJavaのGCのありがたみとかわかるんじゃないの?
0005デフォルトの名無しさん2010/09/08(水) 10:57:42
>>1 は駄スレを立てた罰として↓を100回熟読すること
http://www.ibm.com/developerworks/jp/java/library/j-jtp01274/
0006デフォルトの名無しさん2010/09/08(水) 12:36:24
気にしすぎだと思う
0007デフォルトの名無しさん2010/09/08(水) 12:56:59
このスレは落としてエスパーに聞いてください
http://hibari.2ch.net/test/read.cgi/tech/1187922645/
0008デフォルトの名無しさん2010/09/08(水) 19:13:00
そもそもGCはJavaだけの物でないのか・・
オート破棄を不快に思うのはC/C++使いだけかもしれない。
(ググって見つけていたページもそういうのが多かった)

>>5
熟読します・・
0009デフォルトの名無しさん2010/09/08(水) 20:31:55
なんだこのスレ。十年前に立つならまだわかるが……
0010デフォルトの名無しさん2010/09/08(水) 20:48:48
そんな>>1にはCosminexusの明示管理ヒープ。
つ http://www.hitachi.co.jp/Prod/comp/soft1/manual/pc/d3U0820/INDEX.HTM の8章。
0011デフォルトの名無しさん2010/09/09(木) 13:02:23
質問したいのなら初心者スレとかでやれ
0012デフォルトの名無しさん2010/09/09(木) 19:24:25
null代入はC/C++使いの慰め用という感じで使えるといいな。
そんなに動作は変わらないが、一応破棄したと安心できるみたいな。
>>5のnull代入のダメな例は特殊すぎる気もする。
C/C++でやっても危険かもしれないし。

>>10
トン、複雑そうで結構分かりやすいかもしれない
0013デフォルトの名無しさん2010/09/10(金) 07:23:35
>>12
聞きたい
0014デフォルトの名無しさん2010/09/10(金) 07:24:32
すまん誤爆した
0015デフォルトの名無しさん2010/09/18(土) 09:37:01
GCスレは重複ですので以後はこちらに
http://hibari.2ch.net/test/read.cgi/tech/1141646850/l50
0016デフォルトの名無しさん2010/09/18(土) 12:45:00
>>15
そっちも読んでるけど学術面でのGCなんでここみたいにJava限定っていうのもアリだと思うぞ
■ このスレッドは過去ログ倉庫に格納されています