Campos estáticos da sonda

O campo estático de uma sonda insere um novo campo estático em cada classe Java que contenha pelo menos um método que seja instrumentado pela sonda. Este campo estático está acessível a fragmentos de sonda, e pode ser utilizado para armazenar informações dentro de classes sondadas.

O termo campo estático remete para um campo da classe que é declarado estático. Chama-se por vezes variável estática, campo de classe ou variável de classe (versus variável de instância).

A especificação de campo estático é opcional.

Um campo estático tem a seguinte propriedade:
Propriedade Descrição
type Necessário. A propriedade type especifica a cadeia de caracteres do tipo Java para o novo campo. A cadeia deve ser um nome de classe Java totalmente qualificado, por exemplo: java/lang/StringBuffer. A cadeia de tipo deve representar um tipo de classe vulgar e não um tipo primitivo ou de matriz. A classe denominada deve ter um construtor predefinido (ou seja, um construtor que não leve argumentos) que seja acessível para com a classe sondada.
Ao utilizar um campo estático, o novo campo estático é inicializado na classe sondada por uma chamada pelo construtor predefinido relativo ao seu tipo. Por exemplo, adicionar um campo estático do tipo StringBuffer é como adicionar o seguinte código à classe que estiver fora de todos os métodos:
static private StringBuffer fieldName = new StringBuffer();

A chamada de inicialização é efectuada no início do inicializador de classes da classe sondada. Se a classe não tiver um inicializador de classes, será criado um. Se a sonda tiver um fragmento staticInitializer, o código do fragmento staticInitializer é executado depois de o campo estático ter sido construído.

Os fragmentos de sonda podem utilizar o artigo de dados staticField para aceder ao objecto referenciado pelo campo estático. Os fragmentos podem alterar o estado do objecto a que o campo estático se refere, mas não podem fazer com o campo estático se refira a um objecto diferente.

Uma sonda só pode ter um único campo estático especificado. Para utilizar a especificação do campo estático para armazenar mais de um artigo na classe sondada, utilize um tipo de objecto composto como, por exemplo, ArrayList, HashMap ou HashSet ou defina e utilize uma nova classe com a estrutura de dados de que necessitar.

Exemplo:

Para introduzir um campo estático, faça clique com o botão direito do rato em Sonda na área de janela em árvore do editor e depois faça clique em Novo(a) > Campo Estático. Introduza o tipo Java na área de janela de edição.

Entrada para o campo estático de uma sonda. A entrada é: /java/lang/StringBuffer

Referência relacionada
Tipo de fragmento de sonda staticInitializer
Informações relacionadas
Exemplo de sonda staticField e staticInitializer