Estou com uma dúvida.
Gerei um programa(.jar) utilizando o JRE que vem junto com o netBeans 4.1.
Porém em algumas estações de trabalho o programa fica lento durante a execução. (principalmente estações com menos ou ate 128 MB de RAM).
A dúvida é: Será que compilando com uma versão anterior de JRE/JDK influencia (como deixar a aplicação mais leve por exemplo?? ou naum tem influencia nenhuma??)
O compilador (javac) é praticamente o mesmo para cada versão (exceto no caso do JDK 5.0, onde a linguagem foi alterada), então compilar não adianta.
Mas o mínimo de memória requerido por cada versão do JRE aumenta (mais funcionalidades, mais recursos, mais memória).
Só fico imaginando qual seria o nome da versão 7.0 do Java - muitos sugeriram Elephant (elefante) ou Whale (baleia) porque cada vez o Java tem mais e mais recursos. Mas isso é assim mesmo.
Se você não pode comprar mais memória, precisa usar uma versão bem antiga do JRE - tipo JDK 1.3, que não é mais suportada; então você teria de usar a 1.4.2_08 - ou então até mesmo a Microsoft JVM (equivale ao JDK 1.1.8 ), he he he… Só não recomendo usar a MSJVM porque ela:
a) Não é mais suportada pela Microsoft - na verdade, seu uso é desaconselhado pela Microsoft;
b) Está cheia de problemas de segurança;
c) É complicado usar apenas recursos do JDK 1.1. Muito complicado mesmo. Nem tem uma coisa parecida com o TreeSet ou o TreeMap (sem contar que não tem o Swing incorporado). Para ter alguma produtividade com a MSJVM, só usando o MSJ++, que é um produto que foi descontinuado pela Microsoft faz muitos anos (há uns 8 anos mais ou menos)
Essa versão é a ultima liberada correto? e provavelmente a que estou usando pois baixei o pacote completo com o netbeans 4.1.
Resumindo, se as versões anteriores não são suportadas, fiquei na mesma pois naum posso baixar uma versão antiga para compilar a enviar para os clientes correto??
Quanto a mais memória nessas estações realmente não é possivel…pois são as maquinas de nossos clientes.
Pelo que entendi, dessa forma não tem como compilar com uma versão anterior para tentar melhor a performance certo??? Me corrija se estiver errado.
Não, a última versão é da série 5.0 mesmo (ou 1.5 se preferir), e com certeza o desempenho das JRE vem aumentando a cada release, como destaque pode-se destacar a implementação do Swing (pra aplicativos standalone), ThreadLocals, melhora na performance da tecnologia HotSpot, e etc. Além de muitos bugs fixados, que podem ou não influenciar na performance.
Na questão de otimização de uso de memória, correções de bugs no garbage colector e etc, também quando mais nova a JVM melhor.
Como cada release é compativel com as versões e códigos feitos para as versões anteriores é aconselhável ter a última versão sempre que for possível