Javatpoint Logo
Javatpoint Logo

Recursos de Java

O objetivo primário da criação linguagem de programação java foi construir uma portável, simples e segura linguagem de programação. Além disso, existem também alguns excelentes recursos que desempenham um papel importante na popularidade dessa linguagem. Os recursos de java são conhecidos como java buzzwords.

A lista dos mais importantes recursos da linguagem java são dados abaixo.

Java Features
  1. Simples
  2. Orientada a Objeto
  3. Portável
  4. Independente de plataforma
  5. Segura
  6. Robusta
  7. Arquitetura neutra
  8. Interpretada
  9. Alta performance
  10. Multithread
  11. Distribuída
  12. Dinâmica

Simples

Java é bem tranquila para aprender, e sua sintaxe é simples, clara e fácil para entender. De acordo com a Sun, a linguagem java é uma linguagem de programação simples porque:

  • A sintaxe do java é baseada em C++ (tão fácil para programadores aprender depois de C++).
  • Java tem removido muitos recursos complicados e raramente usados, por exemplo, ponteiro explicito, operador de sobrecarga, etc.
  • Não há necessidade de ficar removendo objetos não referenciados porque existe um coletor de lixo (Garbage Collection) automático em java.

Orientada a objeto

Java é uma linguagem de programação orientada a objeto. Tudo em java é um objeto. Orientação a objetos significa que organizamos nosso software com uma combinação de diferentes tipos de objetos que incorporando dado e comportamento.

Programação Orientada a Objetos (POO) é uma metodologia que simplifica o desenvolvimento e manutenção de software por providenciar algumas regras.

Conceitos básicos de POO:

  1. Objeto
  2. Classe
  3. Herança
  4. Polimorfismo
  5. Abstração
  6. Encapsulamento

Independência de plataforma

Java is platform independent

Java é independente de plataforma porque é diferente das outras linguagens como C, C++, etc. Que são compiladas em máquinas de plataforma especifica enquanto java é uma linguagem de escrita única, executada em qualquer lugar. A plataforma é o hardware ou ambiente de software em que um programa é executado.

Existem dois tipos de plataformas: baseada em software e baseada em hardware. Java prove uma plataforma baseada em software.

A plataforma java difere de muitas outras plataformas no sentido que ela é uma plataforma baseada em software que roda em cima de outras plataformas baseadas em hardware. Possuindo dois componentes:

  1. Ambiente de tempo de execução
  2. API (Interface de Programação de Aplicativos)

O código java pode ser rodado em múltiplas plataformas, por exemplo, Windows, Linux, Sun Solaris, Mac/OS, etc. É compilado por um compilador e convertido para em bytecode. Este bytecode é um código independente de plataforma porque pode ser executado em múltiplas plataformas, ou seja, escreva uma vez e execute em qualquer lugar (Write Once and Run Anywhere - WORA).

Segura

Java é melhor conhecida por sua segurança. Com java, nós podemos desenvolver sistemas livre de vírus. Java é segura porque:

  • Nenhum ponteiro explicito
  • Programas java são executados em uma máquina virtual
how Java is secured
  • Carregador de classe: Classloader em java é uma parte do Java Runtime Environment (JRE) que é usada para carregar classes java dentro da Java Virtual Machine (JVM) dinamicamente. Adiciona segurança, separando o pacote para as classes do sistema de arquivos local daquelas que são importadas de recursos de rede.
  • Verificador de bytecode: Verifica o fragmentos de código em busca de código ilegal que possa violar o acesso a objetos.
  • Gerenciador de Segurança: Determina qual recurso uma classe pode acessar tais como leitura e escrita no disco local.

A linguagem java fornece essas seguranças por padrão. Alguma segurança pode ser providenciada por um desenvolvedor de aplicações de maneira explicita por meio de SSL, JAAS, criptografia, etc.

Robusto

Robusto simplesmente significa forte. Java é robusto porque:

  • Usa gerenciador de memória potente.
  • Falta de ponteiros evitando assim alguns problemas de segurança.
  • Há um garbage collection automático em java que roda ma JVM para liberação de objetos que não são mais usados por uma aplicação java qualquer.
  • Há um tratamento de exceção e um mecanismo de checagem de tipos em java. Todos esses pontos tornam o java robusto.

Arquitetura neutra

Java possui uma arquitetura neutra porque não há recursos dependentes da implementação, por exemplo, o tamanho dos tipos primitivos é fixo.

Em linguagem C, o tipo de dado int ocupa dois bytes de memória para uma arquitetura 32 bits e quatro bytes para uma arquitetura 64 bits. Entretanto , no java é utilizado quatro bytes de memória para as arquiteturas 32 e 64 bits,

Portável

Java é portável porque facilita o transporte do bytecode do java para qualquer plataforma. Não requer nenhuma implementação.

Alta performance

Java é mais veloz do que outras tradicionais linguagens de programação interpretadas porque o bytecode  é "próximo" do código nativo. Ainda é um pouco mais lento que uma linguagem compilada (por exemplo C++). Java é uma linguagem interpretada e é por isso que é mais lenta que as linguagens compiladas por exemplo, C, C++, etc.

Distribuída

Java é distribuída porque facilita usuários a criar aplicações distribuídas em java. RMI e EJB são usados para criar aplicaçẽos distribuídas. Este recurso do java nos permite acesar arquivos chamando os métodos de qualquer máquina na internet.

Multithread

Uma thread é 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 multithread é que ele não ocupa memória para cada thread. Ele compartilha uma área de memória comum. Threads são importantes para multimídia, aplicativos da web, etc.

Dinâmico

Java é uma linguagem dinâmica. Suporta carregamento dinâmico de classes. Isso significa que as classes são carregadas sob demanda. Também suporta funções vindas de suas linguagens nativas, ou seja, C e C++.

Java suporta compilação dinâmica e gerenciamento de memória automático (garbage collection / coleta de lixo).


Próximo tópicoC++ versus Java




Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA