클래스 범위 프로브 단편 예제

이 예제에서는 프로브에서 클래스 범위 단편의 사용법을 설명합니다.

이 예제에서 프로브는 com.sample* 와일드 카드 패턴과 일치하는 패키지의 모든 클래스에서 작성된 인스턴스 수를 계산하고 인스턴스를 백 개 작성할 때마다 보고합니다.

클래스 범위의 단편은 entry 단편이 컴파일되는 클래스의 int 유형 static 필드로 표시되는 카운터를 선언합니다. 또한 단편은 fragment 클래스의 정적 초기화 프로그램을 선언하여 프로브가 로드되었음을 보고합니다. 클래스 범위의 단편에 있는 항목은 프로브를 적용하는 클래스가 아니라 생성된 프로브 클래스로 빌드된다는 점에 유의하십시오. 프로브를 적용하는 클래스로 static 필드 또는 정적 초기화 프로그램 로직을 삽입하려면 staticInitializer 유형의 프로브 단편을 사용하거나 static 필드를 정의하십시오.

Probekit 편집기에서 이 프로브는 다음 항목으로 정의됩니다.
  • 클래스 범위 단편의 Java 코드. 트리 분할창에서 프로브를 선택하여 이 값을 입력하십시오.

    static public int entry_counter = 0;
    static int counter = 0;
    static { System.out.println("[fragmentAtClassScope sample probe has loaded.]"); }

  • 대상. 트리 분할창에서 대상을 선택한 후 편집을 클릭하여 이 값을 입력하십시오.
    • 대상 유형: include
    • 패키지: com.sample*(실제 패키지 이름 사용)
    • 클래스: *
    • 메소드: <init>
    • 서명: *
  • 대상. 편집 분할창에서 추가를 클린한 후 편집을 클릭하여 이 값을 입력하십시오.
    • 대상 유형: exclude
    • 패키지: *
    • 클래스: *
    • 메소드: *
    • 서명: *
  • 단편. 트리 분할창에서 단편을 선택하여 이 값을 입력하십시오.
    • 단편 유형: entry
    • Java 코드:

      ++counter;
      if (counter % 100 == 0)
        System.out.println("[" + counter + " instances of classes in com.sample package so far]");