Executar o mesmo programa várias vezes

3 respostas
C

Bom dia !

por favor, alguém sabe me dizer com certeza o que ocorre quando eu executo um programa, via linha de comando, sendo que já existe uma instância deste programa em execução ? A JVM aproveita a instância do programa que já está criada e inicia outra Thread para execução em cima da mesma instância, ou a JVM cria uma outra instância do programa, ou é iniciada outra JVM para execução deste programa ?

Agradeço desde já quem puder me ajudar. :slight_smile:

3 Respostas

aborges

Oba!

Resposta 3!

Serão iniciadas tantas JVMs quanto forem os programas que voce iniciar…

Voce pode averiguar isso olhando os processos iniciados na sua maquina a cada execuçao :wink:

C

Valeu ! Muito Obrigado ! :smiley:

Luca

Olá

aborges:
Resposta 3!

Serão iniciadas tantas JVMs quanto forem os programas que voce iniciar…

Resposta perfeita, realmente serão iniciadas tantas JVMs quantos forem os programas que iniciar.

Porém no Java 5.0 há o chamado Class Data Sharing.

Segundo New Features and Enhancements J2SE 5.0, trata-se de uma facilidade visando reduzir o tempo de inicialização da aplicação. O processo de instalação da JVM carrega um conjunto de classes do sistema em uma representação privada e depois descarrega em um arquivo compartilhado. No meu Windows este arquivo está com cerca de 12 Mb em C:\Program Files\Java\jre1.5.0_02\bin\client\classes.jsa. Nas próximas chamadas a JVM, o arquivo compartilhado é mapeado na memória economizando o tempo de carga destas classes e permitindo que muitos metadados destas classes sejam compartilhados por múltiplos processos.

[]s
Luca

Criado 27 de abril de 2005
Ultima resposta 27 de abr. de 2005
Respostas 3
Participantes 3