Como o OpenJDK ajuda nos pequenos sistemas operacionais open source?

Estava vendo uns vídeos do RoboNuggie, o canal de freeBSD que acompanho pelo YouTube, e nosso host estava nos apresentando a alguns programas interressantes feitos em Java. 

A partir de então comecei a refletir "Como o openJDK ainda é relevante com a ascensão do RUST?" mas em pouco tempo e a queima de muitos neurônios, essa pergunta ficou mais refinada na forma de "Como o openJDK ajuda nos pequenos sistemas operacionais OpenSource?"

 O openjdk é uma implementação aberta do Jvm para sistemas operacionais, do ponto de vista geral a jvm atual como uma maquina virtual tendo seu próprio código de máquina ["Anote isso, vai ser importante mais para frente" 😉]. 

Isso garante que um binário Java sempre será compatível a Jvm independente da classe, bibliotecas e módulos que estamos usando,  já que seu seu sistema operacional host não controla as classes, bibliotecas e framework e isso o torna perfeito para os pequenos sistemas operacionais open-source junto de linguagens como RUST, C/C++ e GO.

Que podem e precisam ter suas bibliotecas recompiladas e configuradas para todos os sistemas operacionais. O java tendo seu código de maquina próprio pode pular a adaptação das bibliotecas, o e executar diretamente em uma jvm da mesma versão que seu código compilado. [Eu disse que seria importante o aviso anterior 🤣🤣] 

Podemos verificar isso simplesmente rodando o comando xxd -b {nome do programa java e/ou programa compilado em c}. 

Se for o programa compilado em C, os primeiros bytes mostraram o formato do arquivo .ELF em sistemas sus/posix.

Se for o programa compilado para jvm, os primeiros bytes mostraram o formato do arquivo .CAFEBABE que é o formato utilizado na jvm. Isso garante que contanto que tenhamos a mesma versão da maquina virtual java, podemos utilizar códigos java sem precisar pensar muito nas dificuldades da recompilação  como a necessidade de ter as dependências funcionando no novo sistema. O Libre Office que tem parte de seu código fonte escrito em Java, ou o Jedit que é um editor de texto simples também escrito nesta incrível linguagem. E algumas IDES como a famosa IntellijIdea ou o PyCharm que também são desenvolvidos nessa linguagem.


Comentários

Postagens mais visitadas deste blog

Kernel XNU vs Kernel Linux. Quais as diferenças

Leia revistas antigas que existiam no Brasil

FreeBSD, como ele está nos dias de hoje?