Mind map
Java

Map content
Java
- É uma linguagem de programação orientada a objetos, multiplataforma, robusta, portável, segura, extensível, concorrente e distribuída.
- E ela é totalmente orientada a objetos? Não! Por que não? Porque nem todos os seus tipos de dados são objetos (possui alguns tipos primitivos: int, float, long, double, char, etc). - Java não suporta Herança Múltipla.
WORA
- - Write Once, Run Anywhere - Escreva uma vez, execute em qualquer lugar.
Garbage Collector (Coletor de Lixo)
- É o responsável pela automação do gerenciamento de memória. Ele é capaz de recuperar uma área de memória inutilizada por um programa, evitando vazamento de memória.
Possui 4 ambientes de desenvolvimento
- Java Standard Edition (Java SE)
- Trata-se de uma ferramenta de desenvolvimento para a Plataforma Java. Ela contém todo o ambiente necessário para a criação e execução de aplicações Java, incluindo a Máquina Virtual (JVM), Compilador (JAVAC), Bibliotecas (APIs), entre outras ferramentas. Em geral, rodam em computadores pessoais, notebooks, etc.
- Java Enterprise Edition (Java EE)
- Trata-se do padrão para desenvolvimento de sistemas corporativos, voltada para aplicações multicamadas, baseadas em componentes executados em servidores de aplicações - ele inclui o Java SE. Contém bibliotecas para acesso a base de dados, RPC, CORBA, entre outras. As aplicações podem ou não estar na internet.
- Java Micro Edition (Java ME)
- Trata-se do padrão aplicado a dispositivos compactos ou móveis, como smartphones, tablets, controles remotos, etc. Permite o desenvolvimento de softwares embarcados, isto é, aplicações que rodam em um dispositivo de propósito específico, desempenhando alguma tarefa útil. Em geral, possuem limitações de recursos como memória ou processamento.
- Java Card
- tecnologia que permite que pequenos aplicativos baseados em Java (conhecidos como Applets) sejam executados com segurança em smartcards e outros dispositivos similares com grandes limitações de processamento e armazenamento. Sabe o chip do seu celular? Java Card! Sabe o chip do cartão de crédito? Java Card!
- Java FX
- Trata-se de uma plataforma de software multimídia para a criação e disponibilização de Rich Internet Application (RIA) que pode ser executada em diversos dispositivos diferentes. Ele permite a criação de aplicações ricas para navegadores, smartphones, televisores, video-gamas, blu-rays, etc - são os menos conhecidos.
- Java Standard Edition (Java SE)
JRE
- - Java Runtime Environment - Ele possui uma Máquina Virtual (JVM) e Bibliotecas (APIs). - É o mínimo que você precisa para rodas uma aplicação.
JDK
- - Java Development Kit - Contém a JRE e outros componentes úteis para executar aplicações (Exemplo: Javac, Javadoc, Jar, Appletviewer, Jconsole, Jstack, Jhat, etc). - É o que você precisa para desenvolver uma aplicação.
Tipos Primitivos
Modificadores de Acesso
- public
- essa instrução indica que a classe, método ou atributo asim declarados podem ser acessadas em qualquer lugar e a qualquer momento da execução do programa - é o modificador menos restritivo.
- private
- essa instrução indica que métodos ou atributos (classes, não) assim declaradas podem ser acessadas dentro da classe que os criou. Subclasses até herdam-nos, mas não os acessam - é o modificador mais restritivo.
- protected
- essa instrução indica que métodos ou atributos (classes, não) assim declaradas somente podem ser acessadas dentro do pacote em que está contida ou por subclasses no mesmo pacote.
- default
- também chamado friendly, não há palavra para esse modificador porque ele é, na verdade, a ausência de um modificador. Indica-se que a classe, método ou atributo podem ser acessadas por classes do mesmo pacote.
- public
Interface
- É simplesmente um contrato que obriga aqueles que a assinam a implementar os métodos lá presentes. Elas ajudam a padronizar implementações - entradas e saídas.
- Interface x Clase Abstrata
- Interfaces não são classes; são, na verdade, entidades que não possuem qualquer implementação, apenas assinatura, sendo que todos os seus métodos são públicos e abstratos. Já as Classes Abstratas também contêm, em geral, métodos abstratos (sem corpo), mas podem ter vários métodos concretos. - Uma Classe Abstrata pode, inclusive, não conter nenhum método abstrato, isto é, todos os seus métodos são concretos. No entanto, se uma classe tiver um único método abstrato que seja, ela será considerada uma Classe Abstrata. Aliás, uma Interface é também chamada de classe abstrata pura por conta disso, ou seja, não há impurezas (isto é, métodos concretos).
Polimorfismo
- Estático
- Ocorre quando uma classe possui métodos com mesmo nome, entretanto assinaturas diferentes, isto é, métodos de uma mesma classe se sobrecarrengado. Pode ser chamada também de Sobrecarga ou Overloading. Ocorre em Tempo de Compilação e alguns não o consideram um tipo de polimorfismo, porque a assinatura é diferente.
- Dinâmico
- Ocorre quando uma classe possui um método com mesmo nome e mesma assinatura que um método de sua superclasse, isto é, o método da classe-filha sobrescreve o método da classe-pai. Pode ser chamada também de Sobrescrita, Overriding, Redefinição ou Sobreposição. Ocorre em Tempo de Execução e é um corolário do conceito de herença.
- Estático
Anotações
- O Java 5 nos trouxe uma grande novidade que praticamente revolucionou o desenvolvimento de software! As Anotações permitem declarar metadados dos objetos nos próprios objetos e, não, em um arquivo separado. Dessa forma, configurações de uma classe poderiam permanecer dentro da própria classe, em vez de ficarem, por exemplo, em um arquivo de configuração XML.
Tratamento de Exceções
- Portanto, o try indica que um bloco de código pode ocorrer erro; o catch tem o objetivo de capturar, manipular e tratar erros; e o finally busca realizar ações mesmo após a captura de erros.
- throws
- Quando uma situação em que não é desejado que uma exceção seja tratada na própria classe ou método, mas sim em outra classe ou método que venha lhe chamar. Nesse caso é utilizado o throws. - É utilizada na declaração ou assinatura de um método e declara uma exceção a ser tratada, além de poder lançar mais de uma exceção.
- throw
- Algumas vezes podemos fazer com que um método lance um throwable (em geral, do tipo exceção) sem exigir que aqueles que chamem esse método tratem essa exceção - para tal, utilizamos throw. - È utilizada dentro do corpo do método para invocar uma exceção qualquer personalizada explicitamente, além de não poder lançar mais de uma exceção.
Images and files in the map
Information
- Description
- Engenharia de Software Mind Map on Java, created by Carlos Eduardo Torquato on 31/08/2016.
- Created by
- Carlos Eduardo Torquato
- Views
- 2
- Rating
