를 파괴하는, 내가하고 싶은 :호출 객체 메소드가 다른 객체
lion.eat(prey)
동안
lion.energy=energy+10,as an example.
prey=null
은 그러나 나는 또한 원하는 논리적 인 생태계에서 완전히 먹이를 파괴하십시오.
가비지 컬렉터에 대한 모든 정보와 가비지 수집기에 대한 모든 내용은 아무 것도 지적하지 않는대로 나중에 개체를 파괴합니다.
하지만 가상의 생태계에서 수백만 개의 사자 및 사슴 인스턴스가있는 유전자 알고리즘을 구현하고 있습니다. 이제 죽은 동물을 어떻게 제거합니까?
괴짜 농담이 아니므로 항상 가비지 수집기와 객체 살인과 같은 대답에 걸림돌이되어 버리는 것에 지쳐 있습니다. 나는 사자 메서드에서 먹이 객체를 논리적으로 역 참조하는 해답을 원합니다.
public class prey
{
int energy=10;
}
public class lion
{
int energy=0;
public void eat(prey aDeer)
{
this.energy=aDeer.energy+this.energy; ///acumulate energy values from prey
aDeer=null;//destroys the object from ecosystem, which seems impossible to do in java
}
}
Java에서 수동 메모리 관리를 수행 할 수 없습니다. 한 번에 너무 많은 것이 할당되지 않는 것이 우려되면 재사용을 위해 캐시하지 않는 이유는 무엇입니까? – oldrinb