팀,런타임시 힙/스택의 객체에 대한 얼마나 많은 강력한 참조를 찾는 방법
Java에서 현재 사용 가능한 객체에 대한 활성/강력한 참조 수를 알 수 있습니까?
예를 들어, 아래 코드에서; 클래스 A의 객체는 프로젝트의 여러 클래스에서 보유 할 수 있습니다. 하지만 모니터 스레드에서 인쇄하고 싶습니다.
public class A {
public static A a = new A();
public static A getInstance() {
return a;
}
private A() {
new Monitor(this).start();
}
class Monitor extends Thread {
A refA;
public Monitor(A ref) {
this.refA = ref;
}
public void run() {
//TODO Print how many references currently available for Object A referenced by refA;
//Sure It will be minimum one. (which is "a" in this class A)
}
}
}
이 예제 프로그램을 중요하게 생각하지 마십시오. 내 질문은 얼마나 많은 강력한 참조를 힙/스택에서 개체를 사용할 수 찾으려면 무엇입니까? 좋은 점은 우리는 그 대상에 대한 강력한 참고 자료가 있다는 것입니다.
자바에서 가능하지 않은 경우; 이 강력한 참조를 C 언어에 전달할 수 있습니까? C 언어에서 할 수 있습니까?
프로필러/도구가 어떻게 이런 일을 할 수 있는지 궁금합니다. 도와주세요.
왜 런타임에 자바에서 객체에 대한 참조를 얼마나 많이 찾고 싶습니까? –
getInstance()를 호출 한 후 활성 참조가 하나만있을 때 어떤 동작을 실행하려고합니다. getInstance()의 호출 원 메서드가 스택 내에서 종료하고있는 것을 나타냅니다. 따라서 'a'라는 활성 참조가 하나만 있습니다. –
일종의 Aspect 기능이 필요한 것처럼 보입니다. AspectJ 또는 Spring AOP를 사용해보십시오. –