Java puro Flashcards

1
Q

Quais são os modificadores de acesso do java?

A

Public, protected, private, default

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como é o fluxo depois de rodar uma aplicação Java?

A

Código java é compilado para bytecodes pelo compilador, o JRE cria uma máquina virtual JVM para rodar o código em bytecodes e a aplicação começa a funcionar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é Java JRE? Qual sua função?

A

Java Runtime Environment.

Fornecer a JVM e outras bibliotecas essenciais.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é Java JVM? Qual sua função?

A

Java Virtual Machine.

Rodar código bytecodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é Java JIT?

A

Compilador Just-In-Time, que vem ativado por padrão, e compila o código para bytecodes durante a execução do programa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é hotspot no contexto de Java?

A

É a técnica de otimizar a compilação dos códigos mais acessados, em conjunto com o JIT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O código gerado pela compilação do Java contem instrução em linguagem de ___________?

A

Linguagem intermediária.
Não é linguagem de máquina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais são as fases de uma aplicação Java?

A

Edição, compilação, carregamento, verificação e execução.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é a fase de edição de uma aplicação Java?

A

Codar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é a fase de compilação de uma aplicação Java?

A

Transformar .java em .class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é a fase de carregamento de uma aplicação Java?

A

Introduzir os códigos bytecodes na memória.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é a fase de verificação de uma aplicação Java?

A

Verifica se os bytecodes são válidos e não violam regras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que é a fase de execução de uma aplicação Java?

A

A JVM lê e interpreta os bytecodes para uma linguagem de máquina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é Java Stack Memory?

A

Área da memória utilizada para armazenar variáveis locais e a execução de métodos. O erro mais conhecido dela é StackOverflow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é Java Heap Space?

A

A heap space é usada para armazenar objetos (instâncias de classes) e as referências a esses objetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como interceptar uma chamada do GC ao liberar uma classe?

A

Sobreescrevendo o método finalize() dentro de uma classe.

17
Q

Como chamar o GC de forma manual?

A

Utilizando o método gc() você solicita que a JVM execute uma limpeza, mas não tem garantia de nada, nem de quando será executado.

18
Q

Como comentar código no Java?

19
Q

Quais são os tipos tipos primitivos do Java?

A

Inteiro: byte, int, long, short, char
Flutuante: float, double
Booleano: boolean

20
Q

Qual a saída do código a seguir?

System.out.println(“1+1+1=”+1+1+’1’);

A

1+1+1=111

Inteiros concatenados com string viram string.

21
Q

Utilizado para verificar se um objeto é uma instância de uma classe

A

meuAnimal instanceof Cachorro

Também verifica herança .

22
Q

Quais são os operadores de bit do Java e o que fazem?

A

complemento = ~
and bit a bit = &
or bit a bit = |
XOR = ^
shift à esquerda = «
shift à direita =&raquo_space;
shift à direita sem sinal =&raquo_space;>

23
Q

Que número é esse em hexadecimal?
0xffff9c

A

Encontrar o valor das quadras.
1111 1111 1111 1111 1001 1100
Multiplicar o valor de cada quadra por 16 elevado à posição da quadra.
OBS: começamos do elevado a 0, da direita para a esquerda.

24
Q

Pra que serve o modificador de acesso package-private?

A

É o modificador padrão de acesso em Java quando nenhum modificador específico é declarado.

Os membros package-private são visíveis para todas as classes que pertencem ao mesmo pacote, mas não podem ser acessados de classes que estão em pacotes diferentes.

25
Q

Quais são os outros tipos de modificadores não relacionados a acesso?

A

static: Pertence à classe, não à instância.

final: Imutável, não pode ser sobrescrito ou estendido.

abstract: Classe ou método abstrato, deve ser implementado.

synchronized: Método ou bloco seguro para múltiplas threads.

volatile: Variável visível por todas as threads, sem cache.

transient: Impede a serialização de um campo.

native: Método implementado em outra linguagem.

strictfp: Garantia de precisão consistente para ponto flutuante.

interface: Declaração de uma interface.

default: Implementação padrão em interfaces.

26
Q

Pra que servem as palavras final, sealed e permits no java?

A

final:

Em variáveis: A variável não pode ser alterada após ser inicializada.
Em métodos: O método não pode ser sobrescrito em subclasses.
Em classes: A classe não pode ser estendida.
sealed:

Restringe quais classes podem estender a classe marcada como sealed.
Funciona em conjunto com permits para definir quais subclasses são permitidas.
permits:

Usado em classes sealed para listar as classes que podem herdar dela.

27
Q

Quais são os tipos de polimorfismo?

A

Polimorfismo por Inclusão: Métodos sobrescritos em subclasses.

Polimorfismo por Sobrecarga: Vários métodos com o mesmo nome, mas diferentes parâmetros.

Polimorfismo Paramétrico: Uso de generics para permitir que métodos e classes operem com diferentes tipos.

Polimorfismo Ad-hoc: Métodos sobrecarregados que realizam operações semelhantes em diferentes tipos de dados.