Dois programas numa mesma JVM?

Tenho uma dúvida.

Se, em uma mesma máquina, dois programas ( jar) são chamados pelo usuário, eles usarão a mesma JVM, ou será criada uma JVM para cada programa ?

O meu problema é criar uma coleção estática, que possa ser acessada pelos dois programas concomitantemente.

Obrigado,

Márcio

Uma JVM para cada programa, se você estiver usando uma aplicação Java. Isso é desajeitado, tanto que a Sun está desenvolvendo uma JVM que permite rodar vários programas ao mesmo tempo:

http://java.sun.com/developer/technicalArticles/Programming/mvm/

Bom,

Neste caso teria que desenvolver um serviço ( via RMI, ainda que na mesma máquina ) e ter acesso a coleção estática, não e´?

PS.: minha aplicação é SWING.

Obrigado,

Márcio

Oi,

Dependendo do que for, RMI pode ser a soluçao dieal ou compelxidade desnecessaria. Voce pdoe fazer sua aplicaçao dona do objeto em questao escutar uma porta e passar a quem conectar nela dados.

Claro que se voce precisar fazer atualizaçoes e oturas operaçoes, vai ter que criar um protocolo complexo, e nesse caso RMI pode ser mais pratico.

Voce precisa que as aplicaçoes sejam idnependetes? Nao pode simplesmente usar um modelo multi-thread?

Philip,

É para minha prova de Developer ( SCJD ).

Preciso de um ssitema de resreva de quartos de hotel. Vários atendentes podem estar ( em máquinas separadas é claro ) tentando reservar o mesmo quarto.

Perguntei sobre JVM na mesma máquina para poder testar.

Obrigado,

Márcio

É só testar, abra dois jars e olhe o gerenciador de tarefas (Rwindows). Você vai ver dois processos java, um para cada jar. Quando soube disso na JavaMagazine, achei estúpido. Na revista diz que implementar uma JVM como um serviço, com compartilhamento de recursos, é muito difícil. Talvez seja caô.

Vou procurar saber se a VM do .NET é um serviço…