O que é verdade e o que é mito no Java

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (5)  (0)

O java é lento ? o java é feito somente pela Oracle ? Muita coisa mudou desde a primeira versão da JVM descubra o que é verdade e o que é mito no mundo java.

Esse ano um dos grandes “boom” do mundo java foi o openjdk, um projeto open source da JVM, recentemente ele evolui de um modo exponencial, no entanto existem alguns mitos além de algumas pessoas não o conhecerem. Alguns o conhecia como o “irmão pobre” do JDK da SUN (agora da Oracle), mas muita coisa mudou ao longo do início do projeto é uma visão tão primitiva quando achar que o Linux é o Sistema Operacional da tela preta. O projeto ficou muito popular com a remoção da licença temporária de utilizar o jdk da Sun nas distribuições Linux, apesar de várias contradições a verdade é que as Distribuições Linux não perderam acesso a uma jvm fechada, eles possuem um projeto aberto e maduro e muito forte pronto para atender suas necessidades. Esse ano o java teve grandes avanços e a grande maioria ligados a projetos open sources. Esse post foi feito em modo de quiz, perguntas e respostas, sobre algumas duvidas relacionadas ao openjdk, mito sobre o java e o que foi feito e o que esperar do java em 2012.

1- O que é o openjdk ?
O openjdk é um projeto que foi iniciado pela Sun Microsystems, atualmente mantido pela por várias empresas e a comunidade, para a criação de um Java Development Kit baseado totalmente em software livre e de código aberto. O projeto foi iniciado em 2006 e tem como base o HotSpot ( a jvm da Sun).

2 - Existe outros JDKs além da Oracle ?
Sim existe e o openjdk é um exemplo desse.
Existe também o IBM J9, IcedTea, Hotspot (Da antiga Sun), jRockit (da Oracle), Apache Harmony ,Hewlett Packard JVM entre outras.

3 - Com tantas JDKs qual delas é a referência ?
A partir da nova versão do java, o java 7, a implementação de referência é o openjdk.

4 - Qual a vantagem de se usar o openjdk ?
·    A primeira vantagem é que ele é open source ou seja você pode estar estudando o seu código fonte.
·    Ela agora é a implementação de referência ou seja se você quer fazer um aplicativo e quer que rode em qualquer JVM, usando o openjdk isso pode ser garantido.
·    A comunidade java é certamente uma das comunidades mais fortes do mundo. A jvm do projeto, por exemplo, está passando por constantes refatorações para melhoria de performance, atualização de bibliotecas e atualização do código sem falar que para adicionar qualquer recurso é necessário que se tenha testes.
·    A Oracle doou o código fonte do jRockit e no java 8, previsto para o final de 2013, o código seja integrado com o Hotspot. Ou seja no openjdk haverá os melhores de dois mundo em um só lugar.
·    Várias empresas fazem parte desse projeto, ou seja é uma JVM com o Know-how de várias empresas em todo o mundo. Empresas como IBM, Apple, SAP, Mac, Azul, Intel, RedHat etc. fazem parte do projeto.
·    Se a Oracle deixar o java ( Algo que eu acho muito difícil por diversos motivosl) e deixar de fazer a JVM. O openjdk não será em nenhum momento abalado já que existem outras empresas apoiando além da comunidade.

5 - O openjdk é somente para uso acadêmico e não pode ser usado em sistemas sérios ou em projetos em produção.
Certamente esses é um dos maiores mitos que existem. Há algum tempo atrás o Twitter trocou o background do Ruby para java, por questão de performance e ele está utilizando o openjdk. O Twitter possui milhares de requisições, cerca de 250 milhões de tweets por dia, e é utilizado no mundo inteiro. Inclusive o Twitter está fazendo parte do projeto e está trazendo um pouco de sua experiência com milhões de requisições para o projeto além de ajudar no self-tuning previsto para o java 9. O openjdk em um cenário mundial é a segunda mais utilizada no mundo perdendo apenas para o HotSpot.

6 - Qual a diferença entre a JVM da Oracle e do OpenJdk ?
A diferença entre essas duas JVMs está na adição de códigos fechados além de pequenas mudanças na implementação para implementações fechadas para a JVM da Oracle, a dessemelhança é de cerca de 4% de código. O que acontece é que nem todos os códigos foram abertos com êxito já que alguns pertence a terceiros e são apenas licenciados na época pela Sun.

7 - Que códigos diferentes são esses ?
Posso citar, por exemplo, a parte que renderiza os componentes em Swing.

8 - Como anda o trabalho com o openjdk ?
O projeto anda a todo vapor, existem diversas frentes de trabalho nele:
·    Integração jRockit e HotSpot
·    atualização de alguns códigos para o java 7
·    atualização de Libs para o java 7
·    Correções de Bugs no java 7
·    Sem falar nos trabalhos também já iniciado com o java 8
·    etc.

9 - Quando está previsto o novo java 8 ?
A princípio o java 8 viria no ano que vem, mas com o intuito de facilitar a adesão da JVM nas empresas, as atualizações acontecerão em ciclos de dois em dois anos. Assim o java 8 está previsto para o final de 2013.Com as seguintes novidades:
·    Conclusão da integração entre o jRockit e HotSpot gerando o HotRockit
·    JSR 308: Annotations on Java Types
·    JSR 310: Date and Time API
·    JSR TBD: More Small Enhancements to the Java Programming Language
·    JSR 335: Lambda Expressions for the Java Programming Language
·    JSR TBD: Java Platform Module System


Também já existem alguns planos para o java 9 é caso do self-tuning além da comunicação de várias linguagens dentro da JVM

10- Essa separação do java 7 em duas partes realmente valeu a pena ?
Na minha opinião teve grandes vantagens sim, dentre elas posso citar:
·    Trouxe uma nova versão ao java, coisa que não acontecia a cerca de 6 anos.
·    Permite a correções e atualizações da jvm sem esperar o lançamento do jdk.
·    Deixou as atualizações mais tangíveis deixando a entender o constante movimento da linguagem além de ciclos definidos, de aproximadamente dois anos, de atualização.
·    As grandes modificações como o lambda e o jigsaw, virão com ainda mais maturidade já que obtiveram mais tempo para serem trabalhados, vale ressaltar que mesmo com essa divisão em duas versões em nenhum momentos os projetos pararam.

11 - Com o lançamento do java 7 o que acontecerá com o 6 ?
Haverão atualizações públicas até meado de 2012, após isso caso exista atualização serão apenas para atualizações de segurança.

12 - E sobre as certificações o que acontecerão com elas ?
Essa é uma pergunta que eu não sei responder, a certificação é um produto da Oracle, ou seja a comunidade não tem participação nenhuma sobre isso. Atualmente existe uma versão beta do java 7. Muito se especula, mas até o momento a Oracle não deu muito detalhes o que se sabe é que mudou o nome, provavelmente haverá um curso antes da certificação além do custo da certificação elevar consideravelmente.

13 - Então o java Core é desenvolvida somente pela Oracle ?
Não, são duas coisas bem diferentes a certificação que é mantida por ela e a linguagem, plataforma e a JVM que são mantidas por diversas instituições como a IBM, Apple, SAP, Mac, Azul, Intel, RedHat, Twitter, comunidade, a própria Oracle etc.

14 - E o acontecimento entre o Oracle e o Google ?
Quando esse fato aconteceu eu estava apenas começando com a comunidade java então deixarei o meu amigo o Bruno Souza, o javaman, responder essa pergunta.A primeira é uma palestra feito no TDC 2010:


E também uma entrevista feita pelo Paulo Patto que postou em seu Blog:


15 - Com a entrada a Oracle o java vai morrer ? Vale a pena ainda estudar java ?
Muito pelo contrário, a Oracle vem ajudando de um modo muito forte, doando código para o openjdk, envolvendo todos os JUGs na festa do lançamento do java 7, fez uma versão open do java FX, voltou a trabalhar na plataforma ME etc.
Sobre a morte do java, isso certamente levará bastante tempo vale ressaltar que hoje java é a linguagem mais utilizada no mundo, a escolha número um na escolha de projetos empresariais, aproximadamente 90% das aplicações empresariais do mundo são em java além de mais de 9 milhões de desenvolvedores ao redor do mundo. Mesmo se o java não tivesse nenhuma atualização por esses números vale muito a pena estudar a linguagem, hoje se possui cronogramas até para o java 9, isso inclui componentes em html 5, computação nas nuvens dentre outros recursos.

16 - O java é muito lento.
Com o surgimento de máquinas com o processadores binucleares e a evolução do projeto o java ganhou bastante notoriedade em relação a performance. Inclusive sendo comparado com o C e o C++ mostrando que seria até mais rápido. O líder de desenvolvimento do GMAIL Paul Buchheit afirmou em seu blog que com seus testes, mesmo tendo sido tomado todos os tipos de otimizações do GCC o código de seu benchmark roda mais rápido em Java que em C. Existem também outros testes confirmando essa afirmação.


17 - O que foi feito nesse ano com o java e o que esperar para o futuro ?
Esse ano certamente tiveram algumas novidades para o java, podemos citar:
·    O lançamento do novo java 7, após alguns anos sem o lançamento de uma JDK.
·    O openjdk se tornou a versão padrão da JVM.
·    O java FX com um projeto open source.
·    Planos para o java 8 e 9, java EE 7.
·    O java ME voltando a ter trabalhos e evoluir junto com as outras plataformas.
·    Versão do jdk para Mac.
·    SouJava e o LondonJug fazendo parte do JCP.
·    Maior integração entre os grupos de usuários do Brasil (BrasilJUGs).

Sobre o que esperar para o futuro:
·    Mais trabalhos voltados em volta da JVM
·    Integrações ainda maiores entres os JUGs do mundo
·    Mais empresas utilizando e também contribuindo na openjdk
·    O javaFx rodando em todos os SOs.
·    Mais 4 correções do java 7, indo até o update 6.
·    Ultima versão pública do java 6
·    O lançamento do java ME 7

Conclusão
Nesse artigo foi falado um pouco sobre o projeto openjdk, verdades e mentiras sobre o java algumas coisas que foram feitas nesse ano além de algumas expectativas do futuro da tecnologia e plataforma. Com tantas expectativas e trabalhos em constantes movimento é ter esperança de um 2012 com o java movendo para a frente.

Referência:

http://pt.wikipedia.org/wiki/OpenJDK
The Java is Faster than C++ and C++ Sucks Unbiased Benchmark

http://keithlea.com/javabench/data

Mitos do Java e o opensource o que foi feito e o que esperar para o 2012
Paul Buchheit, líder do desenvolvimento do Gmail, java running faster than c
http://paulbuchheit.blogspot.com/2007/06/java-is-faster-than-c.html
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?