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
Postar um comentário