Em qual VM? Na sua ou na minha?

9 respostas
paulopatto

Olá pessoal, boa noite.

Minha pergunta vai soar um tanto boba mas estou com uma dúvida no seguinte. Vamos supor que eu tenha um filesystem remoto onde eu tenho uma instalação do JDK 1.6, e desenvolvo em minha máquina os fonte e gero o bytecode com o javac remoto (porém o .class fica na minha máquina), qunado eu der um comando como:

$ java Aplicativo
// Onde Aplicativo é o .class

Ai que estão as minhas questões:

[list]Como o programa java é mapeado remotamente esse programa vai rodar remotamente???[/list]
[list]Existe alguma vantagem de performance se eu rodar esse Aplicativo mais de uma vez nesta vm remota? Como por exemplo uma memória compartilhada ou coisa do tipo?[/list]

9 Respostas

Mikhas

O aplicativo vai rodar na maquina em que você chamar o comando.

furutani

Só atentar para a versão do JDK que compilou com a versão da JRE que vai rodar, se a que compilou for maior que a que vai rodar tem grandes chances de não funcionar.

paulopatto

Ou seja mesmo não tendo um JRE instalado na minha máquina, ele vai rodar na minha cpu???

G

acho que não, vc vai sempre precisar de uma VM instalada em sua máquina, e quanto à questão que o furutani falou está correta, se vc compila na versao 1.6 e tenta rodar na 1.5, muito possívelmente da pau :confused:

paulopatto

Não mas acho que você não entenderam.

EU NÂO TENHO o JRE na minha máquina eu chamo o comando java pela rede ou seja em um host que tem o jdk instalado (o mesmo que gero o bytecode pelo javac).

O processo java roda no servidor ou em minha máquina???

G

se vc CONSEGUE executar o processo então ele roda no servidor.

paulopatto

Bem se ele roda no servidor e mais de uma pessoa executa o mesmo .class, existe alguma otimização por parte da vm para otimizar o processo??? Tipo cache de memória ou coisa do tipo???

bruno.costa

como é que você o executa? dependendo ele roda na maquina local.

ele estar no servidor, não diz muita coisa. se eu tenho um executável em um diretório do servidor e o executo. ele copia em memória pra maquina local, e executa. o processo roda local.

paulopatto

Não entendio a sua pergunta Bruno.Costa.

Criado 8 de outubro de 2010
Ultima resposta 12 de out. de 2010
Respostas 9
Participantes 5