«garbage-collection» 태그된 질문

10
가비지 콜렉션을 강제 실행하는 것이 언제 좋은가?
그래서 거의 모든 단일 답변이 동일한 곳 에서 C # 가비지 수집기를 실행하는 것에 대한 질문 을 읽었 습니다 . 할 수는 있지만 매우 드문 경우를 제외하고는 안됩니다 . 슬프게도, 아무도 그러한 경우에 대해 자세히 설명하지 않습니다. 어떤 종류의 시나리오에서 실제로 가비지 수집을 강제하는 것이 좋거나 합리적인 아이디어인지 말해 줄 …

6
Java의 스택 및 힙 메모리
내가 이해하는 것처럼 Java에서 스택 메모리는 프리미티브 및 메소드 호출을 보유하고 힙 메모리는 객체를 저장하는 데 사용됩니다. 수업이 있다고 가정하자 class A { int a ; String b; //getters and setters } a클래스 의 프리미티브 는 어디에 A저장됩니까? 왜 힙 메모리가 존재합니까? 스택에 모든 것을 저장할 수없는 이유는 무엇입니까? 객체가 …

6
가비지 수집은 기본적으로 컴파일 된 언어로 어떻게 작동합니까?
스택 오버플로에서 여러 답변을 탐색 한 후 일부 네이티브 컴파일 언어에는 가비지 수집이 있음이 분명합니다 . 그러나 이것이 정확히 어떻게 작동하는지는 분명하지 않습니다. 가비지 수집이 해석 언어와 어떻게 작동하는지 이해합니다. 가비지 콜렉터는 단순히 인터프리터와 함께 실행되며 사용되지 않고 도달 할 수없는 객체를 프로그램 메모리에서 삭제합니다. 그들은 둘 다 함께 달리고 …

11
Java 객체가 더 이상 참조되지 않은 즉시 삭제되지 않는 이유는 무엇입니까?
Java에서 오브젝트에 더 이상 참조가 없으면 즉시 삭제할 수 있지만 JVM은 오브젝트가 실제로 삭제되는시기를 결정합니다. Objective-C 용어를 사용하기 위해 모든 Java 참조는 본질적으로 "강하다". 그러나 Objective-C에서 객체에 더 이상 강력한 참조가 없으면 객체가 즉시 삭제됩니다. Java에서 왜 그렇지 않습니까?

11
스마트 포인터가있는 경우 가비지 콜렉션이 필요한 이유
요즘에는 많은 언어가 가비지 수집됩니다. 타사에서 C ++로도 사용할 수 있습니다. 그러나 C ++에는 RAII 및 스마트 포인터가 있습니다. 가비지 수집을 사용하는 요점은 무엇입니까? 여분의 일을하고 있습니까? 그리고 C #과 같은 다른 언어에서 모든 참조가 사양 및 구현에 의해 스마트 포인터 (RAII를 따로 유지)로 취급된다면 가비지 수집기가 여전히 필요합니까? 아니라면 …

16
C와 C ++와 같은 언어에 가비지 콜렉션이없는 이유는 무엇입니까? [닫은]
글쎄, C의 malloc / free와 C ++의 메모리 관리를위한 새로운 / 소멸자를 사용하는 것과 같은 것들이 있다는 것을 알고 있지만,이 언어들에 대해 사용자가 메모리를 수동으로 관리하거나 시스템이 자동으로 메모리를 처리하는 옵션이 있습니까 (가비지 수집)? 다소 새로운 질문이지만 다소 약 1 년 동안 CS에만있었습니다.

6
.Net에서 약한 참조를 언제 사용합니까?
나는 개인적으로 .Net에서 WeakReference 유형을 사용해야하는 상황을 직접 보지 못했지만 캐시에서 사용해야한다고 생각합니다. Jon Harrop 박사는 이 질문 에 대한 답변 에서 캐시에서 WeakReferences를 사용하는 것에 대해 매우 좋은 사례를 제시 했습니다 . 또한 AS3 개발자가 메모리 공간을 절약하기 위해 약한 참조를 사용하는 것에 대해 이야기하지만 종종 의도 한 목표를 …

8
C ++에서 쓰레기는 어떻게됩니까?
Java에는 자동 중지 기능이있어 가끔 세상을 멈추지 만 힙의 가비지를 처리합니다. 이제 C / C ++ 애플리케이션에는 이러한 STW 동결이 없으며 메모리 사용량도 무한대로 증가하지 않습니다. 이 동작은 어떻게 이루어 집니까? 죽은 물체는 어떻게 관리됩니까?

5
참조 계산 스마트 포인터가 왜 그렇게 인기가 있습니까?
보다시피, 스마트 포인터는 많은 실제 C ++ 프로젝트에서 광범위하게 사용됩니다. 어떤 종류의 스마트 포인터가 RAII 및 소유권 이전을 지원하는 데 분명히 유리하지만, "가비지 콜렉션" 의 방법 으로 공유 포인터 를 기본적 으로 사용하는 경향이 있으므로 프로그래머가 할당에 대해 많이 생각할 필요가 없습니다. . Boehm GC 와 같은 적절한 가비지 수집기를 …


8
범위 기반 메모리 관리의 단점
C ++ 커뮤니티에서 더 일반적으로 (혼란스럽게?) 참조하는 범위 기반 메모리 관리 (SBMM) 또는 RAII를 정말 좋아 합니다. 내가 아는 한, C ++ (및 C)을 제외하고는 오늘날 SBMM / RAII를 주요 메모리 관리 메커니즘으로 만드는 다른 주류 언어는 없으며 대신 가비지 수집 (GC)을 선호합니다. 다소 혼란 스럽습니다. SBMM은 프로그램을보다 결정 론적으로 …

8
Object.finalize ()를 재정의하는 것이 실제로 좋지 않습니까?
재정의에 대한 주요 두 가지 주장 Object.finalize()은 다음과 같습니다. 언제 호출되는지 결정할 수 없습니다. 전혀 호출되지 않을 수 있습니다. 내가 이것을 올바르게 이해한다면, 나는 그것이 Object.finalize()그렇게 미워할만한 충분한 이유라고 생각하지 않습니다 . 객체를 할당 해제하기위한 적절한 시간이 개발자가 아닌시기를 결정하는 것은 VM 구현과 GC에 달려 있습니다. 언제 Object.finalize()부름을받는 것이 중요 …



8
가비지 콜렉션은 왜 힙을 스윕합니까?
기본적으로, 지금까지 가비지 수집이 현재 가리키고 있지 않은 데이터 구조를 영원히 지우는 것을 배웠습니다. 그러나 이것은 그러한 조건에 대해서만 힙을 검사합니다. 왜 데이터 섹션 (글로벌, 상수 등)이나 스택도 확인하지 않습니까? 가비지 수집을 원하는 유일한 힙은 무엇입니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.