Ένα παράδειγμα για το τμήμα κώδικα εμβέλειας κλάσης του διερευνητή

Το παράδειγμα αυτό επιδεικνύει τον τρόπο χρήσης για το "τμήμα κώδικα στην εμβέλεια κλάσης" ενός διερευνητή.

Στο παράδειγμα, ο διερευνητής μετρά τον αριθμό των χρήσεων που δημιουργούνται από όλες τις κλάσεις σε πακέτα που συμφωνούν με τα κριτήρια του μοτίβου χαρακτήρων υποκατάστασης com.sample* και αναφέρει την κάθε εκατοστή δημιουργία χρήσης.

Το "τμήμα κώδικα στην εμβέλεια κλάσης" δηλώνει ένα μετρητή ο οποίος εμφανίζεται ως στατικό πεδίο ακέραιου αριθμού (int) στην κλάση στην οποία μεταγλωττίζεται το τμήμα κώδικα entry. Το τμήμα κώδικα δηλώνει επίσης μια στατική λειτουργία απόδοσης αρχικών τιμών για την κλάση fragment η οποία αναφέρει ότι ο διερευνητής έχει φορτωθεί. Θα πρέπει να σημειωθεί ότι τα στοιχεία που περιέχονται στο "τμήμα κώδικα στην εμβέλεια κλάσης" είναι ενσωματωμένα στην κλάση διερευνητή που δημιουργείται και όχι στις κλάσεις στις οποίες ο διερευνητής εφαρμόζεται. Για να εισάγετε στατικά πεδία ή λογική στατικής λειτουργίας απόδοσης αρχικών τιμών σε κλάσεις στις οποίες εφαρμόζεται ο διερευνητής, χρησιμοποιήστε τμήματα κώδικα διερευνητή του είδους staticInitializer, ή ορίστε ένα στατικό πεδίο.

Αυτός ο διερευνητής ορίζεται από τις ακόλουθες καταχωρήσεις στη λειτουργία επεξεργασίας Probekit:
  • Κώδικας Java για τμήμα κώδικα στην εμβέλεια κλάσης (επιλέξτε Διερευνητής στο τμήμα παραθύρου διακλάδωσης για να καταχωρήσετε την τιμή αυτή):

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

  • Στόχος
    • Είδος στόχου
    • Πακέτο: com.sample* (Εδώ χρησιμοποιήστε ένα πραγματικό όνομα πακέτου.)
    • Κλάση: *
    • Μέθοδος: <init>
    • Υπογραφή: *
  • Στόχος (για να καταχωρήσετε τις τιμές αυτές, επιλέξτε Προσθήκη και στη συνέχεια Τροποποίηση στο τμήμα παραθύρου τροποποίησης):
    • Είδος στόχου
    • Πακέτο: *
    • Κλάση: *
    • Μέθοδος: *
    • Υπογραφή: *
  • Τμήμα κώδικα (επιλέξτε Τμήμα κώδικα στο τμήμα παραθύρου διακλάδωσης για να καταχωρήσετε τις τιμές αυτές):
    • Είδος τμήματος κώδικα: entry
    • Κώδικας Java:

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