Quando devo atualizar (ou não atualizar) o Java?

1

Sou bastante familiarizado com o .NET e sei que os patches e atualizações são mutuamente exclusivos das versões do framework (1.x) e (2.x / 3.x) e (4.x). Essa segregação facilita a compreensão das dependências.

Qual lógica ou segregação se aplica à aplicação de atualizações Java? Quando devo fazer ou quando não devo?

    
por random65537 04.12.2010 / 03:05

3 respostas

1

Como sempre a resposta é 'Depende'.

Se você é um consumidor e o patch é relacionado à segurança, faça isso agora.

Se você é uma empresa e está executando um servidor de aplicativos e os detalhes da correção não mencionam uma vulnerabilidade de segurança que você está prestes a atingir (Usuário executando um aplicativo JNLP mal-intencionado), você pode esperar. Se o 'patch' estiver adicionando novas funcionalidades, como o Java 1.6.0 Update 10 (Update N), talvez você possa esperar.

Em geral, as atualizações em uma determinada versão do Java (1.4.2, 5, 6, 7) devem ser estáveis à API e ok para atualização, mas dependendo do que seu aplicativo faz para java, talvez seja necessário testar ou adiar. / p>

Por exemplo, recentemente a Oracle alterou alguns metadados sobre a VM HotSpot em um patch que causou a falha do IDE do Eclipse.

99 vezes em 100, as correções Java devem ser estáveis à API e ter alterações sem interrupções.

    
por 04.12.2010 / 04:51
1

Muitas versões bem conhecidas de aplicativos que exigem uma versão do Java específica geralmente incluem essa versão dos binários do Java com o aplicativo, e o lançamento é uma variação de < -lots -of -switches & gt ;.

No caso acima, a atualização do java geral / do sistema / padrão geralmente não afeta a aplicação com seus próprios binários java. Por outro lado, você também pode não saber que a versão específica do aplicativo do java (com uma vulnerabilidade conhecida) existe quando você atualiza o java padrão do sistema, a menos que você esteja realmente medindo e reportando usando um aplicativo de inventário de software.

    
por 30.03.2011 / 21:19
0

Atualizações menores geralmente são correções de bugs e atualizações de segurança, portanto, elas devem sempre ser aplicadas. Isso é especialmente uma preocupação com qualquer VM Java que se comunica com o mundo externo (serviços da Web e clientes). Atualizações importantes (1.5 a 1.6, 1.6 a 1.7) são geralmente compatíveis com versões anteriores. Isso é algo pelo qual o Java tem sido realmente confiável desde sua criação.

A compatibilidade com versões anteriores é geralmente a principal preocupação, e os aplicativos ou plataformas (por exemplo, Eclipse, Tomcat) que dependem de novos recursos Java (por exemplo, genéricos Java 5, anotações Java 6, expressões lambda Java 8) geralmente decisão de grandes atualizações de plataforma em nossa loja. Como um exemplo, você pode achar que os clientes Java 6 subitamente não conseguiram acessar alguns sites HTTPS desde os últimos meses devido à resposta à vulnerabilidade SSL de logging , que levou muitos administradores da web a atualizar seus certificados SSL para chaves de 2048 bits, um tamanho de chave que o Java 6 não suporta, mas um que o Java 7 e 8 suportam .

No passado, geralmente havia uma janela de três a cinco anos em que duas ou três versões principais diferentes de Java são de uso geral, até que algum recurso crítico, como os listados acima, indique uma mudança para uma versão mais recente.

Nosso ambiente de desenvolvimento ainda está direcionando o Java 6 onde necessário (para clientes OS X mais antigos), Java 7 para novos desenvolvimentos e Java 8 para nosso ambiente de servidor. Basicamente, queremos um ambiente de produção estável baseado no Java 8 antes de começarmos a confiar nos recursos do Java 8 em nosso ambiente de desenvolvimento. A compatibilidade retroativa do Java nos dá muito tempo para fazer essa transição.

Para o Java 6, acredito que a falta de suporte 1024DH é o prego no caixão.

    
por 16.06.2015 / 13:49