O que é JAVA:
JAVA é uma tecnologia.
Basicamente constitui-se de uma linguagem de programação e um programa para execução chamado de máquina virtual ou virtual machine.
A linguagem de programação Java:
Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 pela empresa Sun Microsystems. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um “bytecode” que é executado por uma máquina virtual.
Em 13 de novembro de 2006. A Sun liberou partes de Java como software livre, sob a licença GNU General Public License (GPL). A liberação completa esta ocorrendo gradualmente.
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
* Orientação a objeto.
* Portabilidade – Independência de plataforma.
* Recursos de Rede.
* Segurança.
Máquina Virtual Java:
Programas Java não são traduzidos para a linguagem de máquina como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes.
Os bytecodes são interpretados pela máquina virtual Java (JVM – Java Virtual Machine).
A máquina virtual é a responsável por criar um ambiente multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma máquina virtual java que traduza os bytecodes para código nativo e pronto! Todas as aplicações java estarão rodando sem problemas.
Entre outras funções, a máquina virtual java também é responsável por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especificação JVM e se eles não violam a integridade e a segurança do sistema.
Desvantagens de Java:
A pré-compilação exige tempo, o que faz com que programas Java demorem um tempo significativamente maior para começarem a funcionar. Isso não é um grande problema para programas que rodam em servidores. No entanto isso pode ser bastante indesejável para computadores pessoais.
O padrão java tem uma especificação rígida de como devem funcionar os tipos numéricos. Essa especificação não condiz com a implementação de pontos flutuantes na maioria dos processadores o que faz com que o java seja significativamente mais lento para aplicações que utilizem bastante processamento numérico quando comparado a outras linguagens.
Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas.
As desvantagens de Java em relação a performance não significam que as aplicações Java sejam lentas ao ponto de não serem viáveis para utilização em desktops. Java hoje já possui uma performance próxima do C++. Isto é possível graças a otimizações como a compilação especulativa, que aproveita o tempo ocioso do processador para pré-compilar bytecode para código nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informações disponíveis somente em tempo de execução para otimizar o funcionamento da JVM, possibilita que a JVM vá “aprendendo” e melhorando seu desempenho. Isto é uma realidade tão presente que hoje é fácil encontrar programas corporativos e de missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks, que são acessados por milhares de usuários diariamente. Grandes sites como o eBay utilizam Java para garantir alta performance. E a cada ano Java tem se tornado mais rápido, na medida que se evolui o compilador dinâmico.
A grande diferença na performance das aplicações escritas em Java em relação as outras linguagens pré-compiladas se dá no “Start” da aplicação, quando ocorre a geração dos bytecodes.
O que Java não faz:
Java não suporta herança múltipla de implementação.
Java não suporta aritmética de ponteiros.
Edições da plataforma Java:
Java 2 Standard Edition (J2SE) – É a tecnologia Java para computadores pessoais.
Possui duas divisões:
Java Development Kit (JDK) ou Standard Development Kit (SDK): um conjunto para desenvolvimento em Java.
Java Runtime Edition JRE: Ambiente de execução, ou seja, é esta versão que executará os sistemas construídos com a SDK.
Java 2 Mobile Edition (J2ME): É a tecnologia Java para dispositivos móveis com limitações de memória ou processamento.
Possui duas divisões:
Connected Limited Device Configuration (CLDC): Para celulares e smartphones, que são mais limitados.
Connected Device Configuration (CDC): Para Palmtops e Pocket pcs e alguns dispositívos com performance mais elevada.
Java 2 Enterprise Edition (J2EE): É a tecnologia Java para aplicações corporativas. Possui um grande número de APIs onde a segurança é a principal preocupação. É ideal para a construção de servidores de aplicação, integração de sistemas ou distribuição de serviços para terceiros.
Abril 2, 2007 às 2:32 pm |
Olá…
Gostei muito desses “tutoriais” de Java postados neste site.
O texto é bem simples, tornando-o fácil de entender.
Abril 3, 2007 às 2:29 pm |
Obrigado.
Vou dar seqüencia em mais um sobre OO e depois continuar com Java.
Um abraço