- 1 名前:デフォルトの名無しさん mailto:sage [2014/10/11(土) 09:13:40.71 ID:mzO+gdRv]
- GC、ガベージコレクション、ガベージコレクタ、ガーベジコレクション、ガーベジコレクタは使えない。
以下GCと記す プログラマをメモリ管理から開放する! といいつつ、メモリリーク問題の文献が大量にある。 これすなわち、メモリリーク問題が全然解決していないということ。 さらに、メモリ解放のタイミングの文献まで大量に生み出した。 これすなわち、新たなるメモリ管理に関する問題を生み出したということ。 malloc、freeじゃないが 結局のところ、メモリを管理するという技術は、今しばらくは、身につける・教える・学ぶべきではないだろうか? 使って、そのまま放置しても、基本的にはGCがなんとかしてくれている。 ランジョブからジョブ終了までさほどの時間を要さない。メモリも大して使わないならいいだろう。 しかし、規模が大きくなり常駐ジョブやメモリ大量使用のジョブになってくると、そんなメモリ管理の方法でやっていると、 上記「文献」を生み出されてしまう。 入門時は、メモリに無頓着でもいいだろう。それよりも、目的を達成することが先決だ。 しかし、慣れてきたら、やはりメモリの管理まで余裕を持って自分で行うべきだろう。
- 87 名前:デフォルトの名無しさん mailto:sage [2014/10/12(日) 23:01:07.26 ID:yWo9u0cs]
- >>82
GC言語でリソースの解放タイミングが保証されないのは、別に 循環参照に限った話じゃないと思うが。
- 88 名前:デフォルトの名無しさん mailto:sage [2014/10/12(日) 23:05:39.92 ID:sv4A2Uaz]
- まあ、適材適所なんだけどね
GC は勝手にやらせとくと色々予測できないし、ちゃんと制御しようとすると面倒なことになって本末転倒だったりする 結局スクリプトとか C# で作るツールとかの小規模なプログラムでしか使ってないや
- 89 名前:デフォルトの名無しさん mailto:sage [2014/10/12(日) 23:19:48.88 ID:K67PydJN]
- >>87
いやまあ言いたいことは同じなんだけど。 ヒープみたいに、lazyに解放すればいい リソースなんて少数派な位なのに ヒープだけを特別扱いしてリークしづらく しているのがGCで、逆に他のリソースの 解放に関しては糞の役にも立たない。 頑張って使いやすくしても try with resourcesみたいなのが精々
- 90 名前:デフォルトの名無しさん mailto:sage [2014/10/12(日) 23:20:37.56 ID:Du/HgjiN]
- 単純に速度が必要でメモり欲しいループの前でsystem.gc()すりゃいい
- 91 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 00:36:28.02 ID:XlHNUUuP]
- >>89
> 頑張って使いやすくしても > try with resourcesみたいなのが精々 言い方がひねくれてるだけで、 使いやすくなってるんだろ? 100% じゃなくても90%なら0%よりもはるかにいいし。 君、完璧主義かい? 完璧じゃなければ0の方がいい。 命を完全に守れないなら、安全装置はいらない。
- 92 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 01:50:00.34 ID:qVWnI3+v]
- シートベルト装着義務違反 減点1
- 93 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 02:14:43.55 ID:Sk2z4NAD]
- そもそも管理の観点が違うものをリソースとかそういう言葉で一括りにしていいもんなのかなぁ
別にGCとRAIIが必ずしも互いに排他的なものでも無いだろうし
- 94 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 02:52:33.01 ID:Y+iyP5NT]
- 参照してるから解放されないのであって、使ってない物は
参照しないようにする=null入れるだけの話だろ。
- 95 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 02:57:40.58 ID:2n2KRb08]
- >>93
Unixなんか、リソースは何でもファイルですよ? これが抽象化というもの。
- 96 名前:デフォルトの名無しさん mailto:sage [2014/10/13(月) 03:02:03.17 ID:jfB1gY05]
- >>94
OS側から勝手に参照し続けるKindleという機種がありましてな…。
|

|