= Treinamento completo de Java
Alex Oliveira <[email protected]>
versão 1.0 (C) e-Sec Segurança Digital
Esse treinamento engloba desde o uso básico da linguagem Java até a criação de aplicações corporativas completas.
Público-alvo::
- Estagiários
- Trainees
Pré-requisitos::
- Conhecimento de programação intermediário
- Conhecimento de Java básico
- Sexto semestre da faculdade
- Ser autodidata
NOTE: Todos os tópicos devem ser estudados por conta própria e ao final o colaborador deve criar um exemplo de código comentado e publicar em um repositório (interno ou externo) para ser avaliado.
== Parte 1 - Java SE
. Orientação à Objetos
.. Sobrecarga (overload) e sobrescrita (override) de métodos
- Declarar e invocar.
- Variância dos tipos dos argumentos, retorno e exceções.
.. Construtores:
- Sobrecarga.
- Delegação.
- Construtor padrão.
- Chamada ao construtor da classe pai.
- O que não se deve fazer dentro de um construtor.
.. Ordem de inicialização:
- Variáveis estáticas.
- Blocos de incialização estática.
- Variáveis de instância.
- Blocos de inicialização de instância.
- Atribuição dentro do construtor.
- Inicialização de atributo `final`.
.. Herança:
- Classes concretas, abstratas, finais e interfaces.
- Problema do diamante.
- Uso de composição em vez de herança.
- Implementação `default` em Java 8.
- Upcast, downcast e sidecast.
- Polimorfismo.
.. Generics:
- Generic collections.
- Type erasure.
- Herança com generics.
- Métodos estáticos com generics.
- _diamond operator_ em Java 7.
- Variância de tipo.
.. Exceções:
- Lançar e capturar exceções.
- Exceções vs retorno de erros.
- Exceções _checked_ vs _unchecked_.
- try-catch-finally do Java 6.
- try-with-resource do Java 7.
. Tarefas comuns
.. Strings e expressões regulares:
- Formatação de strings.
- Conversão entre data e string.
- Busca e extração com expressão regular.
- _Parse_ e _dump_ de XML com Apache Commons Lang.
.. Manipulação de arquivos:
- Ler e escrever arquivos binários com _buffered streams_.
- Ler e escrever arquivos de texto com Apache Commons IO.
- Gerenciar diretórios e arquivos (navegar, mover, etc).
.. Threads e concorrência:
- Proteger variáveis compartilhadas com `synchronized`.
- Espera com `wait` e `notify`.
- Espera com `Semaphore`.
- Contador com `AtomicInteger`.
- Evitar _deadlock_.
- Gerenciar pool de threads.
- Agendar tarefas com `ScheduledExecutorService`.
- _Producer/Consumer_ com `BlockingQueue`.
- Tratamento de exceções em tarefas multi-thread.
- Espera assíncrona com `ListenableFuture` do Google Guava.
.. Logging:
- Logar exceções com Apache Commons Logging.
- Redirecionar vários frameworks de log para o SLF4J.
- Usar os níveis corretos de log.
- Configurar vários appenders e rotacionar arquivos de log.
.. Networking:
- Implementar um mini-chat usando sockets.
- Consumir serviços REST com `URLConnection`.
- Consumir serviços REST com Apache HTTP Components.
. Design Patterns:
.. UML:
- Diagrama de atividade
- Diagrama de classe
- Diagrama de sequência
- Diagrama de comunicação
- Diagrama de componentes
.. Design Patterns
java-se-exemplos's Introduction
java-se-exemplos's People
Forkers
oliveirasRecommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.