Rodar aplicação com java -server class

7 respostas
isneiqui

esses dias estava vendo uns testes de desempenho entre Java e C/C++.
O Java se saiu muito bem em vários testes, mas o que me chamou a atenção foi o fato de as aplicações Java serem executadas assim:

[color=“blue”]java -server class[/color]

E usando o -server foram executadas mais rapidamente do que sem. Alguém poderia explicar o motivo? E também o que significa esse “-server”? Quando tento executar aqui “java -server class” recebo a msg:
no ´server´ JVM.

Se interessar a alguém os testes que vi estão disponíveis em:
http://members.lycos.co.uk/wjgoh/JavavsC.html

Um abraço.

7 Respostas

cv1

-server e -client (default) sao os JITs que a JVM da Sun pode usar. A grosso modo, o JIT Server esta mais preparado para sessoes que duram dias/semanas/meses, e tem um garbage collector menos agressivo, para aliviar a performance. Ja o JIT Client tem um start-up mais rapido, e o garbage collector procura economizar mais memoria. Entre outras coisas, claro :wink:

isneiqui

valew pela resposta cv.
E vc sabe como eu faria pra conseguir rodar minha aplicação com o -server? Preciso instalar algo a mais, configurar ou o que?
Pq qndo tento executar assim ele me diz:
[color=“red”]Error: no server' JVM atC:Arquivos de programasJavaj2re1.4.2_04inserverjvm.dll’.[/color]

onde acho essas outras coisas? :slight_smile:

cv1

O erro esta acontecendo pq vc esta executando a JVM que vem na JRE, e nao a que vem com a JDK (a JRE vem sem -server). Pra saber mais, de uma lida na documentacao da JVM :wink:

Ironlynx

Derrepente,te ajuda:
http://java.sun.com/docs/hotspot/VMOptions.html
http://java.sun.com/developer/technicalArticles/Programming/turbo/
http://java.sun.com/products/hotspot/docs/whitepaper/Java_HotSpot_WP_Final_4_30_01.html

Luca

Olá

Para usar a opção -server -e preciso fazer pequenas alterações:[list]1. Altere o arquivo jvm.cfg que nas minhas máquinas ficam em C:\Arquivos de programas\Java\j2re1.4.2_04\lib\i386 no Windows e /usr/j2sdk1.4.2_04/jre/lib/i386 no Linux
Lá você tem as linhas:
-client KNOWN
-server KNOWN
Troque a ordem delas para ficar assim:
-server KNOWN
-client KNOWN

  1. No Windows ainda precisa ir no diretório C:\Arquivos de programas\Java\j2re1.4.2_04\bin e copiar o conteúdo do subdiretório client para outro diretório igual porém chamado server[/list]Aconselho buscar mais informações no site da Sun e no google para confirmar tudo isto.

[]s
Luca

Luca

Olá

Algo estranho:[list]Se no Windows executo uma classe qualquer dentro do diretório %JAVA_HOME%\bin com [color=“blue”]java -server MinhaClasse[/color] funciona OK.

Com a instalação normal se executo [color=“blue”]java -server MinhaClasse[/color] a partir de qualquer outro diretório obtenho o tal erro citado acima.

Mas se apenas crio o tal subdiretório server que citei no post anterior, então [color=“blue”]java -server MinhaClasse[/color] funciona legal, nem precisa alterar jvm.cfg (como citei antes e que descobrii em algum documento antigo que nem me lembro mais).[/list]Quem souber me explicar o que se passa, agradeceria muito.

[]s
Luca

isneiqui

valew pelos links Ironlynx, ajudaram sim!
E valew tb Luca, fiz o que vc falou e consegui rodar com -server. Foi realmente só criar o subdiretório server…

Criado 24 de junho de 2004
Ultima resposta 25 de jun. de 2004
Respostas 7
Participantes 4