Programação Java
Este conjunto de flashcards aborda conceitos fundamentais e palavras-chave da linguagem de programação Java, sendo ideal para estudantes e desenvolvedores.
Cartões · 55
- JVM (Java Virtual Machine)
- Máquina virtual responsável por carregar, verificar e executar o bytecode compilado do Java em qualquer sistema operacional.
- JDK (Java Development Kit)
- Conjunto de ferramentas para desenvolvimento em Java, incluindo o compilador (javac), bibliotecas padrão e a própria JRE.
- JRE (Java Runtime Environment)
- Ambiente mínimo necessário para executar aplicações Java, contendo a JVM e as bibliotecas essenciais de tempo de execução.
- Bytecode
- Código intermediário gerado pela compilação de código-fonte Java (.class), interpretado ou compilado em código nativo pela JVM.
- Class
- Molde ou modelo a partir do qual objetos individuais são criados, definindo seus atributos e métodos.
- Object
- Instância concreta de uma classe que possui estado (atributos) e comportamento (métodos).
- new
- Operador utilizado para instanciar novos objetos e alocar memória na Heap.
- Constructor
- Bloco especial de código invocado durante a criação de um objeto para inicializar seus atributos.
- Encapsulation
- Princípio da POO que esconde os detalhes internos e o estado de um objeto, expondo apenas métodos controlados.
- Inheritance
- Mecanismo que permite a uma classe herdar campos e métodos de outra classe por meio da palavra-chave extends.
- Polymorphism
- Capacidade de um objeto ou método assumir diferentes formas, manifestando-se via sobrecarga ou sobrescrita.
- Abstraction
- Conceito de focar apenas no que uma entidade faz, ocultando a complexidade de como isso é implementado.
- public
- Modificador de acesso que permite visibilidade aberta a partir de qualquer outra classe.
- private
- Modificador de acesso restritivo que limita a visibilidade apenas ao interior da própria classe declarante.
- protected
- Modificador que concede acesso à própria classe, a classes do mesmo pacote e a subclasses.
- Package-private (default)
- Nível de acesso padrão sem palavra-chave explícita, visível somente para classes no mesmo pacote.
- static
- Define membros (atributos ou métodos) pertencentes à classe em si, compartilhados entre todas as instâncias.
- final
- Torna variáveis constantes e imutáveis, impede a sobrescrita de métodos e proíbe a extensão de classes.
- abstract
- Declara classes que não podem ser instanciadas diretamente ou métodos que devem ser implementados por subclasses.
- interface
- Contrato abstrato que define assinaturas de métodos a serem obrigatoriamente implementados por classes que a adotem.
- implements
- Palavra-chave usada por uma classe para adotar e fornecer corpo aos métodos declarados em uma interface.
- extends
- Palavra-chave utilizada para indicar herança de classe ou ampliação entre interfaces.
- this
- Referência explícita à instância do objeto atual em execução.
- super
- Palavra-chave usada para acessar membros, atributos ou o construtor da superclasse imediata.
- int
- Tipo primitivo de dado numérico inteiro com tamanho fixo de 32 bits.
- boolean
- Tipo primitivo que armazena apenas dois valores possíveis: true ou false.
- char
- Tipo primitivo de 16 bits que armazena um único caractere Unicode.
- double
- Tipo primitivo numérico de ponto flutuante com precisão dupla de 64 bits.
- Autoboxing
- Conversão automática feita pelo compilador entre um tipo primitivo e sua respectiva classe Wrapper correspondente.
- Unboxing
- Conversão automática feita pelo compilador de um objeto Wrapper para o seu tipo primitivo equivalente.
- Garbage Collector
- Processo automático em segundo plano que identifica e desaloca memória de objetos sem referências ativas.
- Heap Memory
- Área de memória compartilhada da JVM onde todos os objetos e instâncias de classes são dinamicamente alocados.
- Stack Memory
- Área de memória rápida que gerencia chamadas de métodos e armazena variáveis locais e referências primitivas.
- Method Overloading
- Declaração de múltiplos métodos com o mesmo nome na mesma classe, diferenciados pela lista de parâmetros.
- Method Overriding
- Redefinição de um método herdado de uma superclasse na subclasse, mantendo a mesma assinatura com a anotação @Override.
- try-catch
- Bloco de controle usado para capturar e tratar exceções em tempo de execução sem encerrar o programa bruscamente.
- finally
- Bloco de execução obrigatória após try ou catch, muito utilizado para liberação de recursos externos.
- throw
- Palavra-chave explicitamente usada para disparar uma instância de exceção no fluxo de execução.
- throws
- Cláusula na assinatura de um método que declara quais exceções verificadas o método pode vir a propagar.
- Checked Exception
- Subclasses de Exception que exigem tratamento ou declaração explícita no código em tempo de compilação.
- Unchecked Exception
- Subclasses de RuntimeException que ocorrem por falhas de lógica e não exigem tratamento obrigatório no código.
- String Pool
- Área especial de memória reservada na Heap para armazenar e reutilizar literais de texto imutáveis.
- StringBuilder
- Classe utilizada para criar e manipular sequências de caracteres mutáveis de forma rápida e eficiente.
- equals() vs ==
- O operador == compara referências de memória, enquanto o método equals() compara o conteúdo lógico dos objetos.
- hashCode()
- Método que retorna um valor inteiro representativo do objeto, fundamental para coleções baseadas em tabelas de dispersão.
- List
- Interface de coleção que mantém elementos em sequência ordenada e permite itens duplicados com acesso posicional.
- Set
- Interface de coleção que modela um conjunto matemático, proibindo rigorosamente elementos duplicados.
- Map
- Estrutura de dados que mapeia chaves exclusivas para seus respectivos valores associados.
- ArrayList
- Implementação da interface List baseada em um array redimensionável de acesso rápido por índice.
- HashMap
- Implementação eficiente da interface Map que armazena pares chave-valor usando cálculo de tabela hash.
- Generics
- Recurso que permite parametrizar tipos em classes, interfaces e métodos, aumentando a segurança em tempo de compilação.
- Lambda Expression
- Função anônima concisa que implementa diretamente uma interface funcional para simplificar a sintaxe.
- Stream API
- Recurso funcional introduzido no Java 8 para processamento declarativo e encadeado de coleções de dados.
- Optional
- Objeto contêiner que pode ou não conter um valor não nulo, reduzindo a incidência de NullPointerException.
- record
- Tipo especial e conciso introduzido no Java moderno para definir classes de dados imutáveis com código padrão gerado automaticamente.