O processo de compilação de um programa Java é feito de acordo com os seguintes passos: o código fonte (extensão .java) é
compilado e armazenado em um arquivo de extensão .class. De cara, percebe-se a impossibilidade de utilizar-se de DOS como
sistema operacional para a elaboração de aplicativos Java, uma vez que o mesmo tem um suporte limitado a nomes de arquivos.
Mas essa limitação quanto ao nome dos arquivos é somente a razão aparente da não-portabilidade de Java para DOS. A grande
razão reside no fato de que Java foi projetada para sistemas de 32 bits, e só foram escritas Máquinas Virtuais Java para
ambientes de 32 bits.
A portabilidade de Java depende fortemente da existência de JVMs que rodem em diversas plataformas. Um programa Java rodará
em um computador se existir uma JVM que nele rode. Ao contrário de programas Java, as JVMs devem ser programas feitos e
compilados para máquinas específicas, de forma que serão as JVMs as responsáveis pela tradução de bytecodes Java para as
linguagens nativas das máquinas.
O conjunto de instruções da Máquina Virtual Java é otimizado para ser pequeno e compacto, tendo sido elaborado para ser uma
espécie de processador RISC virtual: a rapidez da interpretação às vezes é sacrificada para garantir esse reduzido conjunto
de instruções.
O compilador mais utilizado para a transformação de arquivos-fonte java (.java) em arquivos de bytecodes é o javac da Sun
(há diversos outros compiladores no mercado, mas o javac foi o primeiro e é o mais popular ainda hoje).
Uma vez gerado o arquivo .class, ele deve ser passado à JVM instalada no computador. No caso mais comum, a JVM utilizada é
a distribuída pela Sun em seu JDK (Java Developers Kit), denominada java. Isso no caso de aplicativos. No caso de Applets,
os browsers que suportam Java já contêm em si uma JVM que interpreta os bytecodes das Applets.
Ferramentas para desenvolvimento em Java
A Sun, ao lançar a linguagem Java, pôs à disposição gratuitamente o pacote JDK - Java Developer's Kit, que inclui, entre
outros:
Javac - o compilador de arquivos .java para bytecodes .class;
Java - a JVM específica para a plataforma;
Appletviewer - visualizador de applets, sem a necessidade de execução das mesmas num browser.
Diversas empresas desenvolveram ambientes para programação em Java, mas por enquanto nenhum deles firmou-se no mercado.
Alguns IDEs (Integrated Development Environments) disponíveis para shareware ou para compra são mostrados a seguir:
Microsoft Visual J++ - A Microsoft, que de início menosprezou todo o potencial da Internet, e que subestimou Java como uma
linguagem promissora, agora "retomou o bonde" e tenta, com o seu VJ++, estabelecer um padrão para IDEs Java. Contudo,
o VJ++ tem mecanismos intrincados de instalação, consome muito espaço em disco e exige a presença do Internet Explorer
no computador.
Symantec Visual Café - A Symantec foi uma das poucas a acertarem em ambientes para Java. O seu Symantec Café fez grande
sucesso em 1996, e o Visual Café parece ser bastante promissor. O ambiente de programação lembra o de Visual Basic.
Asymetrix SuperCede - Na tentativa de desenvolver um compilador para Java, a Asymetrix desenvolveu o SuperCede, que peca
por ferir um dos principais conceitos de Java: a portabilidade. SuperCede possui um compilador próprio que não gera
bytecodes, mas sim código executável, na tentativa de ganho de performance.
Java e a Internet
Como sabemos, a Internet é uma gigantesca "rede" (conceitualmente falando) que liga "zilhares" de computadores entre si.
É uma rede heterogênea, já que diversos tipos de computadores estão ligados a ela. Todos esses computadores utilizam-se
do protocolo TCP/IP para comunicarem-se. Como eles são distintos, eles precisam de uma linguagem que não esteja
necessariamente amarrada a uma plataforma de hardware/software específica. Como já vimos, Java mostra-se ideal quanto
a esse fator.
Uma vez que os programa Java são transmitidos como bytecodes, eles podem rodar em qualquer computador sem necessitar uma
nova recompilação, independente da plataforma na qual ele será executado. Programas Java sempre são carregados no computador
cliente e nele executado.
Há dois tipos básicos de programas Java: Aplicativos, que são programas como outros quaisquer, e Applets, programas
especialmente confeccionados para executarem dentro de uma página HTML. Ao abrir uma página HTML que tenha inserida em
si uma applet Java, esta é automaticamente descarregada para seu computador e executada. Daí vem a pergunta: há riscos
de um vírus infectar o seu computador cliente??? Isso não ocorre, devido a uma série de limitações que os projetistas de
Java impuseram às applets, por razões de segurança puramente, de forma que nenhuma applet Java seja capaz de "roubar"
informações ou danificar dados do computador. A razão de toda essa segurança reside no fato de que programas Java são
compilados em bytecodes que são verificados. Instruções bytecode são muito similares a outros conjuntos de instruções
projetados para plataformas específicas, com a diferença de que bytecodes são conferidos através de informações adicionais
que eles carregam em si informando a legitimidade ou não do arquivo.
Programas C++ em geral chamam funções por endereço. Como o endereço é um número simples que pode ser construído de
qualquer forma, o programa pode utilizar-se de qualquer número para executar uma função. Java, ao contrário, tem uma
abordagem muito diferente. Métodos e variáveis não são acessados por endereço, mas sim por nomes. É a esse processo de
verificar quais métodos e variáveis que serão realmente usados e que chamamos verificação, que é necessário para garantir
que os bytecodes não sofram qualquer adulteração e que continuem obedecendo às restrições de Java. Uma vez verificado o
bytecode, a JVM irá traduzir enfim os nomes de funções para endereços.
0 comentários:
Postar um comentário