0% acharam este documento útil (0 voto)
4 visualizações4 páginas

Java

Java é uma linguagem de programação que combina várias tecnologias, oferecendo portabilidade através de byte-code, segurança com coleta automática de lixo e tipagem forte, e suporte a programação concorrente. A orientação a objetos em Java é central, com classes e objetos, herança simples, e uso de interfaces, além de encapsulamento por meio de getters e setters. O desenvolvimento em Java envolve compilação e interpretação, com um foco em práticas como construtores e agregação para reutilização de código.

Enviado por

dgnovell
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações4 páginas

Java

Java é uma linguagem de programação que combina várias tecnologias, oferecendo portabilidade através de byte-code, segurança com coleta automática de lixo e tipagem forte, e suporte a programação concorrente. A orientação a objetos em Java é central, com classes e objetos, herança simples, e uso de interfaces, além de encapsulamento por meio de getters e setters. O desenvolvimento em Java envolve compilação e interpretação, com um foco em práticas como construtores e agregação para reutilização de código.

Enviado por

dgnovell
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

2.

Características Fundamentais da Linguagem Java

Java é descrita como uma fusão de diversas tecnologias da


computação, oferecendo suporte a tópicos modernos como
programação concorrente e protocolos de internet.

Portabilidade e Execução

 Byte-code: Os programas são compilados para um código de


máquina virtual (byte-code), não para uma máquina real. Isso
permite que a aplicação seja executada em qualquer
plataforma que suporte Java (Windows, Solaris, Mac/OS) sem
necessidade de recompilação.

 Independência de Arquitetura: Tipos de dados possuem


tamanho fixo (ex: um inteiro tem sempre 32 bits),
independentemente da arquitetura do processador.

Segurança e Robustez

 Coleta Automática de Lixo (Garbage Collection): O


sistema gerencia a memória automaticamente, eliminando
espaços inutilizados em segundo plano (threads de baixa
prioridade), o que evita erros comuns de gerenciamento manual
encontrados em C++ e Pascal.

 Ausência de Ponteiros: Substitui ponteiros por vetores e


objetos para impedir o acesso indevido à memória e erros
de reference aliasing.

 Tipagem Forte (Strongly Typed): Elimina conversões


implícitas perigosas, garantindo que os tipos sejam respeitados
rigorosamente.

 Tratamento de Exceções: Mecanismos que impedem o aborto


abrupto da aplicação sob condições anormais, como falhas de
transmissão.

Eficiência e Concorrência

 Desempenho: Mais eficiente que linguagens de scripting,


embora mais lenta que C. A evolução da linguagem prevê a
geração de código executável on the fly a partir do byte-code.

 Multithreading: Suporte nativo para múltiplos fluxos de


execução, facilitando animações e processamento paralelo em
máquinas multi-core.

--------------------------------------------------------------------------------
3. Fundamentos da Orientação a Objetos em Java

A filosofia de Java dita que não existem funções ou variáveis isoladas;


tudo deve pertencer a uma classe.

Classes e Objetos

 Classe: Atua como um "molde" ou especificação que define


atributos (dados) e métodos (funções). É um tipo definido pelo
usuário.

 Objeto (Instância): É a materialização da classe em memória


durante a execução. Possui estado (valores dos atributos) e
comportamento (métodos).

 Mensagens: O ato de invocar um método é referenciado como


"passar uma mensagem" para o objeto.

Herança e Interfaces

 Java suporta herança simples, mas não permite herança


múltipla.

 A falta de herança múltipla é compensada pelo uso


de Interfaces, onde uma classe herda o comportamento de
uma superclasse e implementa múltiplas interfaces
simultaneamente.

Encapsulamento e Padrões (JavaBeans)

 Getters e Setters: Segue o padrão de


nomenclatura getX e setX para acesso e modificação de
atributos, essencial para a integração com diversas APIs como
Servlets e JSF.

--------------------------------------------------------------------------------

4. Estrutura Técnica e Sintaxe

Tipos Primitivos (Básicos)

Os tipos são padronizados para garantir a portabilidade entre


ambientes:

Categoria Tipo Descrição

Caractere char UNICODE 16-bit (internacionalização)

Valores true ou false (sem conversão


Lógico boolean
para int)

Inteiros byte, short, int, l Todos possuem sinal (complemento de


ong 2)

Ponto
float, double Padrão IEEE754 de 32 e 64 bits
Flutuante

O Método main

É o ponto de entrada de qualquer aplicação Java. Possui


qualificadores específicos:

 public: Acessível externamente.

 static: Permite a invocação sem a necessidade de criar um


objeto da classe.

 void: Indica que não há valor de retorno.

 String args[]: Vetor de argumentos passados via linha de


comando.

--------------------------------------------------------------------------------

5. Dinâmica de Desenvolvimento

 Compilação: Realizada via comando javac [Link],


gerando um arquivo .class.

 Interpretação: Executada via comando java


NomeArquivo (sem a extensão).

 Construtores: Métodos especiais com o mesmo nome da


classe, sem valor de retorno, usados para inicializar objetos no
momento da alocação (new).

 Palavra-chave this: Referência interna ao próprio objeto para


resolver ambiguidades e acessar atributos e métodos próprios.

 Agregação: Técnica de reutilização onde uma classe possui


atributos que são objetos de outras classes (relação de
"cliente").

--------------------------------------------------------------------------------

6. Citações e Insights Relevantes

"Java pode ser vista como uma fusão de várias tecnologias que vêm
sendo desenvolvidas na área de computação."

"Em Java, ao contrário de C++ e Modula-3, não existem funções


desvinculadas de classes, funções isoladas."

"O programador é proibido de obter acesso a memória que não


pertence ao seu programa... Estas medidas são particularmente úteis
quando pensarmos em aplicações comerciais desenvolvidas para a
internet."

"PROGRAME, PROGRAME, RE-PROGRAME!" - Recomendação central


para a fixação do aprendizado na linguagem.

Você também pode gostar