「ガベージコレクション」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''ガベージコレクション''' | + | '''ガベージコレクション'''(英語:garbage collection、略称:[[GC]])とは、[[プログラム]]で動的に確保したメモリ領域のうち、不要になったものを自動的に解放する機構のことである。 |
== 概要 == | == 概要 == | ||
21行目: | 21行目: | ||
また、ガベージコレクションの処理が重すぎる「[[ストップ・ザ・ワールド]]」なる現象も問題となることが多い。ゴミ収集が回ってきた(動いた)瞬間に[[コンピューター]]が超高負荷になり、まるで[[フリーズ]]したかのような状態になり、処理が終わると何事もなかったかのように動き出す、というものである。 | また、ガベージコレクションの処理が重すぎる「[[ストップ・ザ・ワールド]]」なる現象も問題となることが多い。ゴミ収集が回ってきた(動いた)瞬間に[[コンピューター]]が超高負荷になり、まるで[[フリーズ]]したかのような状態になり、処理が終わると何事もなかったかのように動き出す、というものである。 | ||
− | この[[ストップ・ザ・ワールド]]なる現象は、24時間365日止まってはいけない[[サーバー]] | + | この[[ストップ・ザ・ワールド]]なる現象は、24時間365日止まってはいけない[[サーバー]]などで突如数十秒間の一時停止が発生し、問題になることが多い。 |
最近では[[ストップ・ザ・ワールド]]を回避する新しい方式も登場してきている。 | 最近では[[ストップ・ザ・ワールド]]を回避する新しい方式も登場してきている。 | ||
35行目: | 35行目: | ||
;[[世代別ガベージコレクション]] | ;[[世代別ガベージコレクション]] | ||
:[[マークアンドスイープ]]と[[コピーGC]]のハイブリッド方式。[[メモリ]]が使われ始めてからの経過時間や、確保されたメモリサイズなどでグループを分け(このグループを「世代」という)、それぞれに異なるGC方式を適用するというもの。 | :[[マークアンドスイープ]]と[[コピーGC]]のハイブリッド方式。[[メモリ]]が使われ始めてからの経過時間や、確保されたメモリサイズなどでグループを分け(このグループを「世代」という)、それぞれに異なるGC方式を適用するというもの。 | ||
+ | |||
+ | {{stub}} | ||
== 主なガベージコレクション実装 == | == 主なガベージコレクション実装 == | ||
{{stub}} | {{stub}} | ||
− | |||
− | |||
− | |||
− | |||
== 関連項目 == | == 関連項目 == | ||
49行目: | 47行目: | ||
{{reflist}} | {{reflist}} | ||
− | + | {{stub}} |