Java 가비지 수집기 유형은 프로그램 개발에 사용하는 유형을 정의합니다. 가비지 수집은 Java의 중요한 기능입니다. Java에서는 더 이상 사용하지 않는 메모리를 확보하기 위해 가비지 수집을 사용합니다. 가비지 수집기는 아직 사용 중인 모든 개체를 추적하고 나머지 개체를 가비지로 표시합니다. 가비지 수집기는 스윕 및 표시 알고리즘을 사용합니다.
Java에서 가비지 수집은 메모리 관리에 지나지 않습니다. 우리는 JVM을 사용하여 동일한 작업을 수행하고 있습니다. 가비지 수집을 사용하면 프로그래머를 사용하여 개체 할당 및 할당 해제를 처리할 필요가 없습니다. Java 애플리케이션에서는 운영 체제를 사용하여 메모리를 할당하고 해제하며, 애플리케이션과 새 변수의 가비지 수집에서도 동일한 기능을 제공하고 있습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
Java는 애플리케이션의 다양한 요구 사항을 충족하는 여러 가비지 수집기를 제공합니다. 애플리케이션의 성능을 향상하려면 애플리케이션에 적합한 가비지 수집기를 선택하는 것이 매우 중요합니다. Java는 애플리케이션의 요구 사항을 충족하기 위해 다양한 유형의 가비지 수집기를 제공합니다.
Java 가비지 컬렉터의 종류는 다음과 같습니다.
우리는 요구 사항에 따라 다음과 같은 유형을 사용하고 있습니다.
가비지 수집기마다 작동 방식과 성능이 다릅니다. 그것은 자신의 장단점을 포함합니다. Java를 사용하면 JVM에서 사용되는 가비지 수집기를 선택할 수 있습니다. Garbage Collector 선택 시 JVM의 인수를 전달해야 합니다.
이 가비지 수집기는 애플리케이션의 모든 스레드를 보유하는 동안 작동합니다. 따라서 직렬 가비지 수집기 프로세스를 사용하면 애플리케이션의 스레드가 정지된다고 말할 수 있습니다. 이 프로세스는 세계로 알려져 있으며 이벤트를 중지합니다. 서버 환경에서 직렬 가비지 컬렉터의 사용을 허용하려면 간단한 프로그램에서도 동일하게 사용할 수 있습니다.
직렬 가비지 컬렉터를 사용하려면 JVM 인수에 -XX:+UseSerialGC를 실행해야 합니다. 직렬 가비지 컬렉터 사용 시 이를 지정할 수 있습니다.
병렬 GC와 직렬 GC의 유일한 차이점은 병렬 GC는 여러 스레드를 사용하는 반면 직렬 GC는 단일 스레드만 사용한다는 것입니다. 우리는 애플리케이션의 처리 속도를 높이기 위해 병렬 GC를 사용하고 있습니다. 이는 처리량 수집기라고도 합니다.
병렬 가비지 컬렉터를 사용하려면 JVM 인수에 –XX:+UseParallelGC를 사용해야 합니다. Java 애플리케이션을 개발하는 동안 병렬 및 직렬 가비지 수집기는 필수적입니다.
CMS GC에서는 힙 및 검색에 사용되는 여러 스레드를 사용하여 표시된 인스턴스의 제거를 표시합니다. 이 유형의 GC는 GC 시 애플리케이션 스레드를 동결하지 않습니다. 가비지 컬렉터의 스레드는 애플리케이션 스레드와 동시에 실행됩니다.
이 가비지 수집기를 사용하면 여러 CPU를 사용하여 애플리케이션 처리량을 높일 수 있습니다. 사용할 CPU가 더 많으면 CMS GC를 사용합니다. CMS 가비지 수집기를 사용하려면 JVM 인수에 –XX:+UseParNewGC를 사용해야 합니다. 이 가비지 컬렉터를 사용할 때 이 Java Virtual Machine 인수를 사용하고 있습니다.
G1 가비지 수집기는 메모리가 4GB를 초과하는 경우 사용됩니다. 이 GC는 힙을 동일한 크기의 청크로 나누고 우선순위에 따라 병렬 가비지 수집을 수행합니다. G1 가비지 컬렉터가 글로벌 마킹 단계를 보여주고 있습니다.
마킹 단계를 완료하는 동안 이 가비지 컬렉터는 가비지 컬렉터의 개체가 포함된 정보를 수집합니다. G1 가비지 수집기를 사용하려면 JVM 인수에 –XX:+UseG1GC를 사용해야 합니다.
수동적이거나 작동하지 않는 가비지 수집기입니다. 이 가비지 수집기는 애플리케이션에 메모리를 할당하지만 사용되지 않는 개체를 수집하지는 않습니다. 애플리케이션이 힙을 모두 소모하면 JVM이 종료되므로 이 GC가 애플리케이션의 메모리 부족 또는 충돌을 허용한다고 말할 수 있습니다.
이 가비지 컬렉터의 주요 목적은 애플리케이션의 성능을 관리하고 측정하는 것입니다. 이 가비지 컬렉터에는 프로그램 내부에서 실행되던 복잡한 프로그램이 포함되어 있습니다.
이 가비지 수집기는 애플리케이션 실행을 중단하지 않고 모든 작업을 동시에 수행합니다. 이 가비지 수집기는 수 테라바이트 크기의 힙을 처리합니다.
이 유형의 가비지 수집기는 스레드로 주기를 수행합니다. 평균 1MS의 시간에 애플리케이션이 일시 중지됩니다.
이 유형의 가비지 수집기는 더 이상 사용되지 않는 객체와 압축 준비가 된 객체를 관리하기 위해 메모리 영역을 사용합니다. 이 가비지 수집기는 지정된 개체에 대한 액세스 제어를 사용하는 모든 힙에 전달 포인터를 추가합니다.
다음은 Java 가상 머신에 대한 인수입니다. 우리는 가비지 컬렉터에서 이러한 인수를 다음과 같이 사용하고 있습니다.
Java는 다양한 애플리케이션의 요구 사항을 충족하기 위해 다양한 가비지 수집기를 제공합니다. 성능을 향상하려면 애플리케이션에 적합한 가비지 수집기를 선택하는 것이 필수적입니다. Java 가비지 수집기 유형은 프로그램을 개발할 때 사용할 가비지 수집기 유형을 정의합니다. Java에는 가비지 수집이라는 중요한 기능이 있습니다.
위 내용은 Java의 가비지 수집기 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!