>  기사  >  Java  >  자바의 GC란 무엇인가

자바의 GC란 무엇인가

(*-*)浩
(*-*)浩원래의
2019-11-14 09:32:272740검색

훌륭한 Java 프로그래머는 GC 작동 방식, GC 성능 최적화 방법, GC와의 제한적인 상호 작용 방법을 이해해야 합니다. 임베디드 시스템, 실시간 시스템 등과 같이 더 높은 성능 요구 사항이 있는 일부 애플리케이션이 있습니다. . 메모리 관리 효율성을 종합적으로 개선해야만 전체 애플리케이션의 성능이 향상될 수 있습니다.

자바의 GC란 무엇인가

이 기사에서는 GC의 작동 원리, GC의 몇 가지 주요 문제에 대해 논의하고 마지막으로 몇 가지 Java 프로그래밍 제안과 이를 개선하는 방법을 제시합니다. Java 프로그램의 GC 성능 관점.

GC가 왜 필요한가요? (추천 학습: javacourse)

# 🎜 🎜#GC는 가비지 수집(Garbage Collection)을 의미합니다. 메모리 처리는 프로그래머가 문제를 겪기 쉬운 곳입니다. 잊어버리거나 잘못된 메모리 재활용으로 인해 프로그램이나 시스템이 불안정해지거나 충돌이 발생할 수도 있습니다. Java에서 제공하는 GC 기능은 자동으로 모니터링할 수 있습니다. 객체가 자동으로 메모리를 재활용하는 목적을 달성하기 위해 범위를 초과한 경우, Java 언어는 할당된 메모리를 해제하는 명시적인 작업 방법을 제공하지 않습니다.

그래서 Java의 메모리 관리는 실제로 객체 할당 및 해제를 포함한 객체 관리입니다.

Java 프로그래머의 경우 new 키워드를 사용하여 객체를 할당합니다. 객체를 해제할 때 객체에 대한 모든 참조를 null로 할당하면 프로그램이 더 이상 객체에 액세스할 수 없습니다. ". GC는 "접근할 수 없는" 모든 개체의 메모리 공간을 회수하는 일을 담당합니다.

GC의 경우 프로그래머가 객체를 생성하면 GC는 객체의 주소, 크기 및 사용을 모니터링하기 시작합니다. 일반적으로 GC는 방향성 그래프를 사용하여 힙의 모든 개체를 기록하고 관리합니다.

이런 방식으로 어떤 개체에 도달할 수 있고 어떤 개체에 도달할 수 없는지 결정됩니다. GC가 일부 개체에 연결할 수 없다고 판단하면 GC는 이러한 메모리 공간을 회수해야 합니다.

그러나 다양한 플랫폼에서 GC를 구현할 수 있도록 Java 사양에서는 GC의 많은 동작을 엄격하게 규정하지 않습니다.

예를 들어 어떤 종류의 재활용 알고리즘을 사용할지, 언제 재활용을 수행할지 등 중요한 문제에 대한 명확한 규정이 없습니다.

따라서 JVM 구현자마다 구현 알고리즘이 다른 경우가 많습니다. 이는 또한 Java 프로그래머의 개발에 많은 불확실성을 가져옵니다. 이 기사에서는 GC 작업과 관련된 몇 가지 문제를 연구하고 이러한 불확실성이 Java 프로그램에 미치는 부정적인 영향을 줄이기 위해 노력합니다.

위 내용은 자바의 GC란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.