Quando você trabalha com Java, normalmente com pequenos projectos, Não precisa se preocupar para o memória que tem disponível, ou que você está usando. Mas chega um momento em que o projeto está de volta Venda por atacado e as necessidades de memória do mesmo aumento, e Não tende a fazer o seu caminho linear.
Como é o projeto no qual você está, sempre é conveniente efectuar uma boa gestão do memória e, na medida do possível, Remova as referências Não vai ser usado, permitindo assim a coletor de lixo liberar os recursos do mesmo.
Mesmo tendo um bom controle as diferentes variáveis e objetos em seu projeto, É bom saber em que medida afectam certas situações para o precioso recurso memória. Para fazer isso, Vamos explicar como podemos ver o memória livre, usado, total e máxima o ambiente do Máquina Virtual Java Durante a execução do nosso código.
Para fazer isso, Faremos uso do o ambiente de tempo de execução do aplicativo, começá-lo queria dados. Vamos mostrar-lhe a seguir código por exemplo:
1 2 3 4 5 6 7 8 9 10 11 | public static void main (String args[]){ int dataSize = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println ("Memoria máxima: " + runtime.maxMemory() / dataSize + "MB"); System.out.println ("Memoria total: " + runtime.totalMemory() / dataSize + "MB"); System.out.println ("Memoria libre: " + runtime.freeMemory() / dataSize + "MB"); System.out.println ("Memoria usada: " + (runtime.totalMemory() - runtime.freeMemory()) / dataSize + "MB"); } |
Como você pode ver no código, a primeira coisa que fazemos é criar uma variável tipo número inteiro com um valor de 1024 * 1024, ou o que é o mesmo, 1 MB. Como a memória vai entrar bytes, para o dividi-lo por essa variável a resultado estão que vamos mostrar no Megabytes.
Posteriormente, Atribuímos a variável Tempo de execução o ambiente de execução atual do aplicativo, Então para, Imprimir o console dados pertencentes a valores diferentes de memória queria:
- runtime.maxMemory() – Obtém a memória máxima.
- runtime.totalMemory() – Obtém a memória total.
- runtime.freeMemory() – Obtém a memória grátis.
Para obter o valor da memória Atualmente usado simplesmente subtrairá, para a memória total, a memória grátis.
Desta forma, em qualquer hora na execução do seu aplicativo, Você pode estar ciente da quantidade de memória que, em certas circunstâncias pode ser contatado pelo consumir seu código.