[Java]ゴミ収集器
ごみ収集器
Gabege Collector自動管理プログラムの実行に必要なメモリ.
ごみ収集器とは何ですか.
プログラムを開発すると
유효하지 않은 메모리
のゴミが発生します.Java開発を使用すると、開発者はメモリにアクセスできません.
즉, 더이상 사용하지 않는 메모리를 자동으로 회수해주는 것이 가비지 컬렉터이다.
Cシリーズプログラム開発者はメモリを自分で管理する必要があります
メモリ管理が適切でない場合、メモリの漏洩が発生し、他のプログラムの操作が停止する可能性があります.
Javaプログラム
開発者はメモリにアクセスできません.
そのため、開発者はメモリを管理できません.
가비지 컬렉터가 불필요한 메모리를 회수해서 메모리를 최적화 함
なぜなら、JVMのゴミ収集器は不要なメモリを自動的にクリーンアップするからです.でもJavaでは
명시적으로 불필요한 데이터를 표현하기 위해서 일반적으로 null을 선언
コードの例を見てみましょうPerson person = new Person();
person.setName("Hi");
person = null;
// 가비지 발생
person = new Person();
person.setName("Hi, Java");
既存のhiによって生成されたpersonオブジェクトは参照されず、使用されないため、不要なオブジェクトとなる.Javaでは、このようなメモリの漏洩を防ぐために、ゴミ収集器は定期的にチェックしてメモリをクリアします.
オブジェクトの多くは使い捨てで、メモリに長期にわたって保持されることはめったにありません.
さらに説明するとjavaを使うときにnewというキーワードがよく使われます.
そのnewキーワードはhip領域で動的にメモリを割り当てる役割を果たし、このような動的に割り当てられたメモリを自動的に解放します.これがGCです.
動作原理
基本的にJVMは実行時に動作します.
ゴミ収集を実行するにはいくつかの条件があり、以下の条件のいずれかを満たす限り、JVMはゴミ収集器(GC)を実行する.
ごみ収集プロセス
ごみ収集用語のクリーンアップ
MinorGCが発生した場合は、アクセス不可オブジェクト(非アクティブオブジェクト)を削除します.
生存オブジェクト(参照オブジェクト)はOld Generation
Old世代が満たされると、
Java 8ベースの永続的な生成は、スタックメモリではなくローカルメモリによって管理される
MinorGCを実行すると、例外なくすべての適用スレッドが停止します.
Reference
この問題について([Java]ゴミ収集器), 我々は、より多くの情報をここで見つけました https://velog.io/@conficker77/Java-가비지-컬렉터テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol