Classmexer.

Um agente de instrumentação simples que pode ser conectado a um programa Java e permite que esse programa consulte o uso de objetos de memória
Baixe Agora

Classmexer. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Freeware
  • Preço:
  • FREE
  • Nome do editor:
  • Neil Coffey
  • Site do editor:
  • http://www.javamex.com

Classmexer. Tag


Classmexer. Descrição

Um agente de instrumentação simples que pode ser anexado a um programa Java e permite que esse programa consulte o uso de objetos de memória Classmexer é um simples agente de instrumentação Java que fornece algumas chamadas de conveniência para medir o uso de memória de objetos Java de dentro de um aplicativo. O projeto atualmente fornece as seguintes chamadas estáticas da classe Memoryutil, dentro do pacote com.javamex.classmexer: Público estático Long MemoryUsageOf (Object Obj) Público Estático Longo DeepmemoryUsageOf (Object Obj) Público Estático Longo DeepMemoryUsageOf (Object Obj, VisibilidadeFilter ReferenceFilter) Estático Long DeepmemoryUsageOfll (coleção Objs) Público estático longo deepmemoryUsageOfl (coleção Objs, visibilidadefilter referênciaFilter) Instalando Classmexer em seu projeto Para configurar seu projeto para usar Classmexer: * para compilação: Incluir Classmexer.jar Seu projeto, ou certifique-se de incluí-lo no CLASSPATH se você estiver compilando a partir da linha de comando; * para execução: add -javaagent: classmexer.jar para o comando java usado para iniciar seu aplicativo, certificando-se de uma cópia do frasco está no diretório de trabalho (o diretório do qual você inicia o aplicativo, não necessariamente o mesmo que o classpath). No código-fonte, você precisará importar a classe com.javamex.classmexer.memoryutil.how para usar o memoryutil chamadas A chamada mais simples fornecida pela classe Memoryutil retorna o número de bytes ocupados por um objeto, não incluiu nenhum objeto que ele se refere a: Importar com.javamex.classmex.memoryutil; ... longos nobytes = memoryutil.memoryUsageOf (someobject); este método é essencialmente um invólucro ao redor do método jdk instrumentation.getObjectsize (). Como tal, nem sempre dá um resultado muito relevante. Normalmente, é mais interessante consultar o uso de memória "profunda" de um objeto, que inclui "subobjetos" (objetos referidos por um determinado objeto). Por exemplo, se tentarmos consultar o uso de memória de uma string usando memóriaUsageOf (), não estaremos realmente incluindo os caracteres da string, porque eles são armazenados em uma matriz de caracteres (um objeto separado) referenciado pela string objeto em si. As chamadas DeepMemoryUsageOF () são projetadas para rodar esse problema. Eles recursivamente incluem "subobjects" ou objetos referidos pelo (s) objeto (principal) passado (a). Então, para obter o uso total de memória de uma string, podemos usar: string str = "alguma string ou outra"; Nobytes longos "; Memoryutil.deepmemoryUsageOf (str); Por padrão, o método deepmemoryUsageOf () atravessa referências não públicas (ou seja, objetos com uma referência privada, protegida ou privada de pacotes). Para muitos objetos, como seqüências, este é o tipo apropriado de referência a seguir: Com efeito, incluímos apenas esses objetos que, em certo sentido, "pertencem" ao objeto principal (embora o critério não seja perfeito: um objeto ainda pode ter uma referência privada para algum objeto "global"). Podemos alterar quais referências são percorridas passando em uma visibilidade opcionalFilter: Import com.javamex.classmexer.memoryutil; Import com.javamex.classmexer.memoryutil.visibilityfilter; .. longos nobytes = memoryutil.deepmemoryUsageOf (someobjectfilter.all); Neste exemplo, todas as referências serão percorridas na contagem do uso da memória do objeto. Outras opções atualmente suportadas são nenhuma e private_only.total Memória de uso de múltiplos objetos Os métodos deepmemoryUsageOfall () fazem uma coleção de objetos e somam o uso total de memória de todos os objetos na coleção fornecida. Se não for fornecido VisibilityFilter, o padrão é não_public como acima. Esses métodos garantem que nenhum objeto seja contado mais de uma vez, mesmo que objetos tenham várias referências. (As chamadas de objeto único também tornam essa garantia, porque é claro que é possível que o gráfico de objetos que inicie com um único objeto eventualmente inclua várias referências ao mesmo objeto.) Requisitos: · Java 2 Edição Standard Runtime Ambiente


Classmexer. Software Relacionado

pilons_gase.

Não é um substituto para o appengine-macaco, mas simplesmente uma rápida integração de pilões em appengine ...

53

Download

libtisch.

Superfícies de interação tangível para colaboração entre os seres humanos ...

162

Download