Linguagem de Programação Java - Básico
Podcast sobre segurança softwares
Olá! Agora que você já sabe como a portabilidade é importante para a segurança
dos softwares, confira como o bytecode é fundamental para que essa segurança
seja viável.
O bytecode diz respeito a um conjunto de instruções altamente otimizadas, projetadas
para serem executadas pelo sistema de tempo de execução Java, chamado Java
Virtual Machine (JVM).
Originalmente o JVM foi projetado como um interpretador de bytecode. Parece
algo novo, uma vez que muitas linguagens modernas são criadas para serem
compiladas em código executável por motivos de desempenho. No entanto, o fato
de os programas Java serem executados pelo JVM ajuda a resolver os principais
problemas associados aos programas baseados na web.
A conversão de programas Java em bytecode facilita a execução de programas
em vários ambientes, devido ao fato de que cada plataforma precisa apenas
implementar o JVM. Assim, o pacote runtime aparece em determinado sistema, e
qualquer programa Java pode ser executado.
Aqui, ainda vale mencionar que este pacote Java Runtime Environment (JRE) é de
aplicativos, composto por bibliotecas (APIs) e pelo Java Virtual Machine (JVM). O
kit contém as ferramentas necessárias para a execução de aplicativos e pode ser
baixado diretamente pelo site da Oracle.
Embora os detalhes do JVM variem conforme as plataformas, todos entendem o
mesmo bytecode Java. Portanto, se um programa Java for compilado para código
nativo, precisam existir versões diferentes do mesmo programa para cada tipo de
CPU conectado à internet.
Com isso, a execução do bytecode pela JVM é a maneira mais fácil de criar programas
verdadeiramente portáveis. Além do fato de o JVM tornar os programas executados
por ele mais seguros. Pois, por ser controlado, ele pode reter o programa e evitar
que produza efeitos colaterais fora do sistema. Desse modo, certas restrições na
linguagem Java também aumentam a segurança.
Um programa, ao ser interpretado, geralmente será executado lentamente quando
1
Linguagem de Programação Java - Básico
comparado a outro que está em execução, ou seja, um compilado em código
executável. No entanto, em Java, a diferença entre os dois não é considerável. Como
o bytecode é altamente otimizado, seu uso permite que o JVM execute programas
mais rápidos que o esperado.
Viu só como a portabilidade, resultado da relação entre o bytecode e o JVM, promove
a segurança dos softwares também? Fique ligado para descobrir mais sobre o Java!