O que é Java?
Atualmente, Java é uma das linguagens de programação mais populares e amplamente utilizadas. Sua primeira versão surgiu em 1996, desenvolvida originalmente pela Sun Microsystems, posteriormente adquirida pela Oracle. Inicialmente projetado como uma linguagem de programação versátil para diversos tipos de tarefas, Java passou por uma longa trajetória evolutiva e recebeu diversas versões. Ao longo dos anos, Java deixou de ser apenas uma linguagem genérica e evoluiu para uma plataforma abrangente, com um ecossistema completo que reúne tecnologias voltadas para as mais variadas aplicações, desde o desenvolvimento de programas desktop até sistemas web complexos e grandes portais.
Além disso, Java também é amplamente utilizado para desenvolver software para inúmeros dispositivos, incluindo computadores pessoais, tablets, smartphones, celulares comuns e até mesmo eletrodomésticos. Um exemplo significativo disso é o sistema operacional Android, cuja maior parte das aplicações é desenvolvida justamente em Java.
Características da linguagem Java
Uma das principais características da linguagem Java é que o seu código é inicialmente convertido em um bytecode especial, independente da plataforma em que será executado. Esse bytecode é então executado pela JVM (Java Virtual Machine). Tal característica diferencia o Java de linguagens interpretadas tradicionais, como PHP ou Perl, cujo código-fonte é diretamente executado pelo interpretador. No entanto, Java também não é uma linguagem puramente compilada, como C ou C++.
Essa arquitetura proporciona portabilidade e independência do hardware, permitindo que aplicações Java sejam executadas sem necessidade de recompilação em diferentes plataformas como Windows, Linux e macOS. Para cada plataforma pode existir uma implementação específica da JVM, mas todas essas implementações são capazes de executar exatamente o mesmo bytecode Java.
Java apresenta uma sintaxe semelhante à da linguagem C, possuindo bastante proximidade também com linguagens como C++ e C#. Por isso, programadores familiarizados com essas linguagens têm mais facilidade ao aprender Java.
Outro ponto forte da linguagem Java é o suporte à coleta automática de lixo (garbage collection). Isso significa que não é necessário liberar manualmente a memória alocada para objetos que não estão mais em uso, ao contrário do que acontece em linguagens como o C++, já que o garbage collector faz essa tarefa automaticamente.
Java é uma linguagem orientada a objetos que suporta polimorfismo, herança e tipagem estática. A programação orientada a objetos facilita o desenvolvimento de aplicações robustas, escaláveis e flexíveis.
Oracle JDK, OpenJDK e outras implementações
Para o desenvolvimento em Java, é necessário um conjunto específico de ferramentas chamado Java Development Kit (JDK). Existem diversas implementações do JDK, apesar de todas utilizarem o mesmo padrão da linguagem Java. As duas implementações mais populares são o Oracle JDK e o OpenJDK.
O Oracle JDK é mantido exclusivamente pela empresa Oracle, enquanto o OpenJDK é um projeto de código aberto mantido por uma comunidade de desenvolvedores Java com suporte de várias empresas, incluindo Oracle, Red Hat, entre outras.
As principais diferenças entre elas estão relacionadas a licenciamento e suporte técnico. A licença do Oracle JDK permite o uso gratuito para necessidades pessoais, desenvolvimento, testes e demonstrações de aplicações. Para outras finalidades, especialmente em ambientes corporativos ou que exijam suporte oficial da Oracle, é necessária uma assinatura comercial paga. Já o OpenJDK é completamente gratuito em todas as situações.
Quanto à funcionalidade, em geral, não existem diferenças significativas entre o Oracle JDK e o OpenJDK. Contudo, no quesito desempenho, há relatos de que o Oracle JDK pode apresentar um desempenho ligeiramente superior ao OpenJDK. Além disso, alguns desenvolvedores apontam que o OpenJDK pode eventualmente apresentar mais falhas ou problemas de estabilidade comparado ao Oracle JDK, que geralmente é considerado mais estável. Outro aspecto importante é que a Oracle oferece atualizações garantidas por um período específico, enquanto o suporte e atualização do OpenJDK podem variar dependendo da comunidade responsável.
Cabe mencionar que existem diversas outras implementações do JDK, fornecidas por diferentes empresas. Por exemplo, a Microsoft disponibiliza sua própria implementação do Java, que pode inclusive vir pré-instalada em algumas versões do sistema operacional Windows, normalmente localizada no diretório C:\Program Files\Microsoft
.
Neste guia, entretanto, não há diferença prática significativa sobre qual implementação do JDK será adotada, seja Oracle JDK, OpenJDK, a implementação da Microsoft ou qualquer outra disponível.