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

Java Banco Do Brasil

O documento fornece um resumo abrangente sobre a linguagem Java, abordando seus fundamentos, programação orientada a objetos, recursos avançados e boas práticas. Destaca características como multithreading, gerenciamento de memória, tipos de dados e conceitos de herança, polimorfismo e encapsulamento. Além disso, inclui tópicos sobre Java 8+, como expressões lambda e a API de Streams, e enfatiza a importância de boas práticas de programação.

Enviado por

julicmars
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 Banco Do Brasil

O documento fornece um resumo abrangente sobre a linguagem Java, abordando seus fundamentos, programação orientada a objetos, recursos avançados e boas práticas. Destaca características como multithreading, gerenciamento de memória, tipos de dados e conceitos de herança, polimorfismo e encapsulamento. Além disso, inclui tópicos sobre Java 8+, como expressões lambda e a API de Streams, e enfatiza a importância de boas práticas de programação.

Enviado por

julicmars
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

JAVA

Resumo para Concurso Banco do Brasil 2026

1. Fundamentos da Linguagem Java


1.1 Características da Linguagem
• Orientada a objetos: herança, polimorfismo, encapsulamento e abstração
• Independente de plataforma: bytecode executado na JVM (Java Virtual Machine)
• Fortemente tipada: tipos devem ser declarados explicitamente
• Gerenciamento automático de memória: Garbage Collector
• Multithreading: suporte nativo para programação concorrente

1.2 Tipos de Dados


Tipos Primitivos:
• byte (8 bits), short (16 bits), int (32 bits), long (64 bits)
• float (32 bits), double (64 bits)
• char (16 bits Unicode), boolean (true/false)
Tipos de Referência:
• Classes, Interfaces, Arrays, Enums
• String (imutável, pool de strings)

2. Programação Orientada a Objetos


2.1 Classes e Objetos
• Classe: blueprint para criar objetos
• Atributos: variáveis de instância ou de classe (static)
• Métodos: comportamentos da classe (podem ser static)
• Construtores: inicializam objetos (mesmo nome da classe, sem retorno)
• Modificadores de acesso: public, private, protected, default (package)

2.2 Herança
• Palavra-chave extends: subclasse herda de superclasse
• Java não suporta herança múltipla de classes
• super: referencia a superclasse (construtor ou métodos)
• Override: sobrescrita de métodos (@Override annotation)

2.3 Polimorfismo
• Sobrecarga (overload): mesmo nome, parâmetros diferentes
• Sobrescrita (override): redefinição de método herdado
• Polimorfismo de runtime: ligação dinâmica de métodos
2.4 Encapsulamento
• Atributos privados com getters e setters
• Oculta implementação interna, expõe apenas interface pública

2.5 Abstração
• Classes abstratas: abstract class, não podem ser instanciadas
• Métodos abstratos: sem implementação, devem ser implementados nas
subclasses
• Interfaces: contrato de métodos (todos públicos e abstratos por padrão)

3. Recursos Avançados
3.1 Interfaces
• Interface: contrato que define métodos sem implementação
• Classe implementa interface com implements (múltiplas permitidas)
• Métodos default (Java 8+): implementação padrão em interfaces
• Métodos static em interfaces (Java 8+)

3.2 Collections Framework


List:
• ArrayList: array dinâmico, acesso rápido por índice
• LinkedList: lista duplamente encadeada, inserção/remoção rápidas
Set:
• HashSet: não ordenado, sem duplicatas, baseado em hash
• TreeSet: ordenado, implementa NavigableSet
Map:
• HashMap: chave-valor, não ordenado, permite null
• TreeMap: ordenado por chave

3.3 Exceções
• Checked exceptions: verificadas em tempo de compilação (IOException)
• Unchecked exceptions: RuntimeException e subclasses
• try-catch-finally: tratamento de exceções
• try-with-resources: fecha recursos automaticamente (AutoCloseable)
• throws: declara exceções que o método pode lançar

3.4 Generics
• Parametrização de tipos: List<String>, Map<K,V>
• Type safety em tempo de compilação
• Wildcards: ? extends T (upper bound), ? super T (lower bound)
• Type erasure: informação de tipo removida em runtime
4. Java 8+ Features
4.1 Lambda Expressions
• Sintaxe concisa: (params) -> expression
• Functional interfaces: interface com único método abstrato
(@FunctionalInterface)
• Usadas com Streams, Collections, eventos

4.2 Stream API


• Processamento funcional de coleções
• Operações intermediárias: filter, map, sorted (lazy evaluation)
• Operações terminais: collect, forEach, reduce, count
• Parallel streams: processamento paralelo com parallelStream()

4.3 Optional
• Container para valor que pode ser nulo
• Evita NullPointerException
• Métodos: isPresent(), orElse(), orElseThrow(), map(), flatMap()

4.4 Date and Time API


• [Link] package (Java 8+)
• LocalDate, LocalTime, LocalDateTime: sem timezone
• ZonedDateTime: com timezone
• Imutáveis e thread-safe

5. Conceitos Importantes
5.1 Multithreading
• Thread: unidade de execução dentro de um processo
• Criar threads: extends Thread ou implements Runnable
• Sincronização: synchronized keyword, locks
• ExecutorService: gerenciamento de pool de threads

5.2 JDBC (Java Database Connectivity)


• API para conexão com bancos de dados
• DriverManager, Connection, Statement, ResultSet
• PreparedStatement: evita SQL injection
• Transações: commit(), rollback(), autoCommit

5.3 Serialização
• Conversão de objeto para stream de bytes
• Interface Serializable (marker interface)
• ObjectOutputStream, ObjectInputStream
• serialVersionUID: controle de versão
5.4 Anotações (Annotations)
• Metadados sobre código: @Override, @Deprecated, @SuppressWarnings
• Anotações customizadas: @interface
• Reflection: examinar/modificar código em runtime

6. Boas Práticas
• Princípios SOLID: Single Responsibility, Open/Closed, Liskov Substitution,
Interface Segregation, Dependency Inversion
• Design Patterns: Singleton, Factory, Builder, Observer, Strategy, etc.
• Clean Code: nomes descritivos, métodos pequenos, evitar duplicação
• Tratamento adequado de exceções: não silenciar erros
• Testes unitários: JUnit, Mockito
• Documentação: Javadoc para APIs públicas

Material de estudo - Concurso Banco do Brasil 2026

Você também pode gostar