Salve galera!
Qual a melhor estratégia para fecharmos recursos(ResultSet, Statements, Connections)
fecharmos no “finally” ou usarmos o “try-with-resources” do java 7?
Atenciosamente
Victor
Salve galera!
Qual a melhor estratégia para fecharmos recursos(ResultSet, Statements, Connections)
fecharmos no “finally” ou usarmos o “try-with-resources” do java 7?
Atenciosamente
Victor
Se for usar o Java 7, o try with resources te economiza algumas linhas de código.
Se for com o finally, você tem a vantagem de ter código compatível com as versões anteriores ao Java 7.
Se for por compatibilidade, a segunda alternativa ganha. No entanto eu vou adorar ver as opiniões dos outros gujeiros sobre este assunto.
Boa pergunta!
Concordo com o kico
se vc sabe que seu projeto vai rodar na versao 7, try with resources…
abrassss
Mas em termos de eficácia/desempenho? O try with-resources é melhor? tanto faz?
Oi Victor,
se bobear, o desempenho vai ser o mesmo.
O try with-resources simplesmente vai gerar automáticamente pra você o bloco finally dinâmicamente com base nos recursos que você estiver trabalhando.
Então, na prática, a não ser que você queria um controle sobre qual recurso ou não liberar, você não vai ter diferença alguma de performance.
Uhhmm entendi, obrigado ^^
Se puder, prefira o try with resources.
(Obviamente não posso recomendá-lo se você estiver escrevendo código para um WebSphere ou WebLogic da vida que já esteja instalado e só aceite código da versão 6 ou 5 do Java
)
É que ele gera um código bem mais correto e complexo que o try / finally que normalmente usamos.
Em termos de desempenho não faz diferença porque o desempenho pega na parte “não-excepcional” do seu código, não na parte de tratamento de exceções do seu código.
Além disso, deixa seu código mais limpo e conciso (sabe como é que é, só vale a pena ter um código muito grande quando você ganha por linha de código
) - código muito grande tende a ter mais erros.