Java Flashcards

Conteúdos da linguagem e frameworks

1
Q

O que é anotações no Java
“Uso do @ no Java”

A

As anotações tem como função, passar uma informação para o compilador do java, e também para o leitor do código, pois vai indicar para ambos a funcionalidade que está envolvendo determinado objeto.

É uma configuração no código JAVA

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

Por que surgiu a anotação no Java

A

Surgiu como uma alternativa ao uso do XML, onde no próprio código, é possível realizar as configurações no código, sem precisar de um arquivo separado para fazer uma configuração de chave Valor. Exemplo:
Essa classe é a controller; Essa classe é a model; Essa classe faz conexões com o DB;

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

Qual a diferença do XML para o uso de anotações?

A

O uso do XML requer um arquivo extra para a configuração, enquanto as anotações nos permite fazer isso no mesmo arquivo. No XML, estamos mais sucintos a erros, pois o compilador nos auxilía quando uma anotação está errada, já no XML, por padrão, não temos essa ajuda.

Outra vantagem é que o uso de algumas anotações são implícitas e/ou não obrigatórias, diferentemente do XML.

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

Quem faz as leituras das anotações e faz esses usos?

A

O hibernate é a biblioteca que faz a leitura dessas anotações. Com isso o hibernate vai saber o que fazer com essas anotações e vai realizar as anotações.

Frameworks como o Spring, tem suas anotações na qual vai ser usado para realizar configurações de controle, mapeamento, de requests https, etc…

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

Existe tipos diferentes de anotações?

A

As anotações podem ser tanto para o Javadoc, tanto para bibliotecas e também para o compilador. Algumas anotações vai para a maquina virtual. Já temos algumas anotações que são para o compilador do Java. Exemplo:

@Override -> Essa anotação vai dizer para o compilador que aquele método está sendo sobrescrito

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

É possível escrever as nossas proprias anotações?

A

Sim, mas na maior parte dos casos não é necessário. Vai depender da necessidade do projeto. Exemplo: Quando você estiver escrevendo uma bibilioteca que precisar fazer o uso dessas informações.

Mas na maior parte dos casos, não é necessário.

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

Sintaxe para criar uma anotação

A

public @interface minhaAnotação {
}

Dessa forma, podemos criar nossa propria anotação.

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

O que é uma API?

A

Api é Aplication programming interface, que nada mais é uma forma genérica de conectar componentes do nosso software. Então temos a API para que possamos conectar partes diferentes do nosso sistemas, até sistemas diferentes, o mesmo sistema, etc.

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

API Não é usada somente no desenvolvimento WEB

A

as API são usadas em diversos outras áreas da técnologia além do desenvolvimento web. Exemplo: no desenvolvimento mobile, temos uma API que nos disponibiliza o acesso a câmera. Com isso não iremos precisar fazer todo o código de acesso a câmero do zero, pois o sistema operacional já disponibiliza essa API. isso resulta também em melhor segurança, melhor uso do tempo por nao ter que criar algo do zero.

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

O que é o lombok?

A

Lomlok é uma biblioteca no java que tem como finalidade reduzir os códigos boilerplate, e implementar Metodos como gets e sets automaticamente para o compilador (maven). Através de anotações no código, podemos passar essa informação e aumentar a produtividade.

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

O que é o record no java?

A

Basicamente é uma classe java, onde não vai ter um construtor vazio, apenas tem o construtor com todos os atributos e também não temos metodo getter e setters. Por conta disso, a unica forma de settar os valores é através do construtor, pois uma vez que você instanciou a record, não é possível alterar seus atributos

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

A record é uma classe imutável do java

A

As records não possuem getters e setter, apenas é possível passar as informações no construtor e com isso, após instanciada, não é possível alterar o valor de seus atributos.

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

Como podemos acessar os valores das records?

A

Por conta de não termos a disponibilidade dos getters, conseguimos apenas pegar os valores da seguinte maneira: minhaRecord.meu_atributo()

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

Sintaxe para criar uma record

A

public record minhaRecord() {
//code
}

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

A classe record pode extender outras classes?

A

As records não podem extender outras classes pois ela implicitamente extendem a classe de um tipo específico no java: A classe Record, por conta disso não é possível extender outras classes na nossa Record, mas podemos implementar

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

Anotação @Entity do jarkata

A

Essa anotação serve para indicar para o JPA que é uma tabela no banco de dados

17
Q

Anotação @Column no jakarta

A

Essa anotação utilizada para um atributo da classe, é utilizada para indicar que aquele atributo da nossa classe Entity, vai se tornar uma coluna no nosso banco de dados

exemplo de uso:
@Column(length = 256, nullable = false)
private String sexo;

18
Q

Qual é a biblioteca que utilizamos para trabalhar com arquivos?

A

A lib usada no java para isso é a java.nio.file;
Esse pacote vai prover para o desenvolvedor diversas Interfaces/metodos estáticos para que possamos trabalhar com arquivos diretórios e caminhos

19
Q

Qual é o tipo do objeto que temos que declarar para representar um caminho?

A

Path arquivo = Paths.get(“/home/keven/diretorio/arquivo.txt”);

O nosso arquivo ou diretório vai ser do tipo Path

20
Q

Qual é o método que usamos para que possamos pegar o arquivo ou o diretório a partir de uma string?

A

A interface Paths possui o método get, que vai receber como parametro uma String que vai ser o nosso caminho passado para pegarmos o arquivo ou diretório

21
Q

Qual é a interface que utilizamos para manipular o nosso objeto do tipo path?

A

Uma das classes utilizadas para manipular o nosso arquivo path, é a A Files, que possui método de verificar se o diretório existe, se o arquivo existe, etc.

Files.isDirectory(arquivoPath);
FIles.exists(arquivoPath);

22
Q

Como que podemos fazer a alteração de conteúdo de um arquivo com o java?

A

Podemos utilizar a manipulação de bytes com o java, e com isso mudar o conteúdo de um arquivo.

Podemos alterar uma foto para a outra, com os bytes da foto antiga, e escrevendo no arquivo novo/ja existente

23
Q

SIntaxe para pegar os bytes de um arquivo?

A

Com a classe Files.ReadAllBytes(meuArquivo);
podemos ler os bytes do nosso arquivo Path
FIles.write(meuArquivoTargetPath, meuArraydeBytes);

24
Q

Método para deletar arquivos path

A

A classe Files fornecede dois métodos para que possamos estar removendo esses paths

FIles.delete(arquivoPath);
FIles.deleteIfExists(arquivoPath);