2011-03-08 6 views
0

어제 Java에서 가비지 수집에 대한 강의를 들었습니다. "Basics of Garbage Collection" 당신 튜브에, 그래서 내 자신의 가비지 수집 알고리즘을 구현하려고했다. 그래서 나는 그것을 구현 한 사람이 싶었어요. 그것을 할 수있는 방법이 있습니까? 네가 할 수 있다면 나와 함께 도와주세요. 감사합니다 -Sagar S.Exceptcit Java에서 가비지 수집 알고리즘 구현

+0

안녕하세요, 여러분 ... 투표를 종료하려면 최소한 여기에 의견을 추가하십시오. 이유가 옳지 않은 이유는 무엇입니까? –

답변

1

가비지 수집을 구현하려면 서로 완전히 짜여져 있기 때문에 완전한 Java VM을 구현해야합니다.

  • 가비지 수집기가 수행해야 할 작업에는 몇 가지 Java 객체가 필요합니다.
  • Java 객체가 유용하고 (할당 할 수 있도록) Java 코드를 실행해야합니다. 자바이 을 구현하려는 경우

그래서, 당신은 자바 기반의 자바 가상 머신을 생성해야합니다.

행운을 빕니다 :-)


만, 기존 VM에 대한 가비지 컬렉터를 만들 오픈 JDK, GJC, 아파치 하모니 같은 오픈 소스 사람을보고 싶은 경우에

. 나는 이것이 충분히 모듈화되어있어 다른 GC 구현을 연결할 수 있다고 생각합니다. 여전히 메모리 할당 알고리즘과 객체에 액세스하는 모든 것에 적합해야합니다. VM 자체와 같은 언어로이 코드를 구현해야합니다 (주로 C 또는 C++).

+0

당신은 전체 JVM이 필요 없다. 논리적 인 방법으로 쓰레기를 모으고, 복사하고, 마크/스위프를하고, 어떤 특별한 객체도 필요하지 않으며, 레퍼런스 만 있으면 충분하다. 실제로 가끔 핫스팟의 최적화가 자바 자체로 작성되지 않은 이유가 궁금합니다. 쓰레기 수거는 실제로 자바에서만 쓸 수는 없지만 (포인터가없는 비트 게임) – bestsss