O objetivo principal da criação da linguagem de programação Java era torná-la portátil, simples e segura.
Além disso, também existem alguns recursos excelentes que desempenham um papel importante na popularidade dessa linguagem.
Os recursos do Java também são conhecidos como chavões Java.
Uma lista dos recursos mais importantes da linguagem Java é fornecida abaixo:
- Simples
- Orientada a Objeto
- Portátil
- Plataforma independente
- Protegida
- Robusta
- Arquitetura neutra
- Interpretada
- Alta performance
- Multithread
- Distribuída
- Dinâmica
Simples
Java é muito fácil de aprender e sua sintaxe é simples, limpa e fácil de entender.
De acordo com a Sun, a linguagem Java é uma linguagem de programação simples porque:
- A sintaxe Java é baseada em C++ (é mais fácil para os programadores aprenderem depois de C++).
- O Java removeu muitos recursos complicados e pouco usados, por exemplo, ponteiros explícitos, sobrecarga de operadores etc.
- Não há necessidade de remover objetos não referenciados porque há uma Coleta de Lixo Automática em Java.
Orientada a Objeto
Java é uma linguagem de programação orientada a objetos. Tudo em Java é um objeto. Orientada a objetos significa que organizamos nosso
software como uma combinação de diferentes tipos de objetos que incorporam dados e comportamentos.
A programação orientada a objetos (OOPs) é uma metodologia que simplifica o desenvolvimento e a manutenção de software, fornecendo
algumas regras.
Os conceitos básicos de OOPs são:
- Objeto
- Classe
- Herança
- Polimorfismo
- Abstração
- Encapsulamento
Plataforma independente
Java é independente de plataforma porque é diferente de outras linguagens como C, C++, etc., que são compiladas em máquinas específicas
da plataforma, enquanto Java é uma linguagem de gravação única, executada em qualquer lugar. Uma plataforma é o ambiente de hardware
ou software no qual um programa é executado.
Existem dois tipos de plataformas baseadas em software e hardware. Java fornece uma plataforma baseada em software.
A plataforma Java difere da maioria das outras plataformas no sentido de que é uma plataforma baseada em software que é executada no
topo de outras plataformas baseadas em hardware. Possui dois componentes:
- Ambiente de execução
- API (Interface de Programação de Aplicativos)
O código Java pode ser executado em várias plataformas, por exemplo, Windows, Linux, Sun Solaris, Mac/OS etc.
O código Java é compilado pelo compilador e convertido em bytecode. Esse bytecode é um código independente de plataforma,
pois pode ser executado em várias plataformas, ou seja, Write Once and Run Anywhere (WORA).
Protegida
Java é mais conhecida por sua segurança. Com Java, podemos desenvolver sistemas livres de vírus. O Java está protegido porque:
- Nenhum ponteiro explícito.
- Programas Java são executados dentro de uma sandbox de máquina virtual.
- Carregador de Classes: O Classloader em Java faz parte do Java Runtime Environment (JRE), que é usado para carregar classes Java
dinamicamente na Java Virtual Machine. Ele adiciona segurança, separando o pacote para as classes do sistema de arquivos local daquelas
que são importadas de fontes de rede.
- Verificador de Bytecode: verifica os fragmentos de código em busca de código ilegal que possa violar o acesso direto aos objetos.
- Gerenciador de segurança: determina quais recursos uma classe pode acessar, como leitura e gravação no disco local.
A linguagem Java fornece esses títulos por padrão. Alguma segurança também pode ser fornecida por um desenvolvedor de aplicativos
explicitamente através de SSL, JAAS, criptografia etc.
Robusta
Robusta significa simplesmente forte. Java é robusta porque:
- Ela usa um forte gerenciamento de memória.
- Faltam indicadores que evitam problemas de segurança.
- Há uma coleta automática de lixo em Java que é executada na Java Virtual Machine para se livrar de objetos que não estão mais sendo
usados por um aplicativo Java.
- Há manipulação de exceção e o mecanismo de verificação de tipo em Java. Todos esses pontos tornam a linguagem Java robusta.
Arquitetura Neutra
Java é arquitetura neutra porque não há recursos dependentes da implementação, por exemplo, o tamanho dos tipos primitivos é fixo.
Na programação C, o tipo de dados int ocupa 2 bytes de memória para arquitetura de 32 bits e 4 bytes de memória para arquitetura de
64 bits. No entanto, ele ocupa 4 bytes de memória para arquiteturas de 32 e 64 bits em Java.
Portátil
Java é portátil porque facilita o transporte do bytecode Java para qualquer plataforma. Não requer nenhuma implementação.
Alta Performance
Java é mais rápida que outras linguagens de programação interpretadas tradicionais porque o bytecode Java está "próximo" ao código nativo.
Java é uma linguagem interpretada, por isso é mais lenta do que as linguagens compiladas, como por exemplo, C, C++ etc.
Distribuída
Java é distribuída porque facilita os usuários a criar aplicativos distribuídos em Java. RMI e EJB são usados para criar aplicativos
distribuídos. Esse recurso do Java nos permite acessar arquivos chamando os métodos de qualquer máquina na Internet.
Multi-threaded
Um encadeamento é como um programa separado, executando simultaneamente. Podemos escrever programas Java que lidam com muitas tarefas
ao mesmo tempo, definindo vários encadeamentos. A principal vantagem do multiencadeamento é que ele não ocupa memória para cada thread.
Ele compartilha uma área de memória comum. Os threads são importantes para multimídia, aplicativos da Web etc.
Dinâmica
Java é uma linguagem dinâmica. Ela suporta carregamento dinâmico de classes. Isso significa que as classes são carregadas sob demanda.
Ela também suporta funções de seus idiomas nativos, ou seja, C e C++.
Java suporta compilação dinâmica e gerenciamento automático de memória (Coleta de Lixo).
*****
|