20.ゴミ収集
4399 ワード
この内容は、モダンJavaScriptのブログの学習と整理です.
>モダンJavaScript
符号化の過程で多くの変数とオブジェクトを作成した.
以前に作成したデータが後で使用できない場合は、パフォーマンスに悪影響を及ぼすデータが山積みになります.
そこで、JavaScriptでは、肉眼では見えない場所でメモリ管理を行います.
理由がなければ、これらの値は削除されません.関数で使用される領域変数およびパラメータ 高次関数で使用される変数とパラメータ グローバル変数 オブジェクトで参照される他のオブジェクト 次の例では、ゴミ収集器がどこで使用されるかを示します.
上のコードにはuserという変数参照オブジェクトがあります.
ただし、ここでuser変数にnullを指定すると、参照されるオブジェクトは使用されなくなり、JavaScriptはメモリからデータを削除します.
1つの参照が失われても、別の参照からアクセスできます.
これは
現在、どのオブジェクトにもアクセスできるようになりました.合計
2つの参照を削除すると
ゴミ収集器はメモリから値を削除します.
これらのゴミ収集器はメモリの面で手間を省くことができます.
>モダンJavaScript
符号化の過程で多くの変数とオブジェクトを作成した.
以前に作成したデータが後で使用できない場合は、パフォーマンスに悪影響を及ぼすデータが山積みになります.
そこで、JavaScriptでは、肉眼では見えない場所でメモリ管理を行います.
가비지 컬렌션
と呼ばれていますきじゅん
자바스크립트는 도달 가능성이라는 개념을 사용해 메모리 관리를 수행한다
도달 가능한 값
は、近接または使用可能な値である.理由がなければ、これらの値は削除されません.
let user = {
name: 'jiun'
};
上のコードにはuserという変数参照オブジェクトがあります.
ただし、ここでuser変数にnullを指定すると、参照されるオブジェクトは使用されなくなり、JavaScriptはメモリからデータを削除します.
2つの参照
let user = {
name: 'quakka'
}
let guest = user;
user = null;
前に示したように、1つのオブジェクトに2つの変数参照がある場合:1つの参照が失われても、別の参照からアクセスできます.
これは
도달가능한 값
で、メモリから削除されません.リンクされたオブジェクト
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
「mary」関数は、2つのオブジェクトを受信し、互いに参照して「結婚」し、新しいオブジェクトを返して2つのオブジェクトを陥れる.現在、どのオブジェクトにもアクセスできるようになりました.合計
도달가능한 값
と言えます.2つの参照を削除すると
delete family.father;
delete family.mother.husband;
2つを削除することにより、Jognに入る参照は消え、도달가능한 값
の状態から抜け出す.ゴミ収集器はメモリから値を削除します.
これらのゴミ収集器はメモリの面で手間を省くことができます.
Reference
この問題について(20.ゴミ収集), 我々は、より多くの情報をここで見つけました https://velog.io/@wldns12378/20.-가비지-컬렉션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol