Para obter as certificações associadas, é necessário ser aprovado neste exame. Veja os requisitos de cada certificação nos links abaixo.
- Formato: Múltipla escolha
- Duração: 90 minutos
- Número de Perguntas: 50
- Pontuação de Aprovação: 68%
- Validade: Exame validado para Java 17
- Comprar Voucher Oracle
O Oracle Certified Professional: Java SE 17 Developer demonstra proficiência no desenvolvimento de software Java (Standard Edition), reconhecida por diversos setores globalmente. Ao ser aprovado no exame, o candidato prova ter amplo conhecimento da linguagem Java, práticas de codificação e novos recursos do Java SE 17.
- Uso de classes primitivas e wrapper, incluindo a API Math, parênteses, promoção de tipo e conversão para avaliar expressões aritméticas e booleanas.
- Manipulação de texto com as classes
String
eStringBuilder
. - Manipulação de objetos de data, hora, duração, período, instante e fuso horário usando a API Date-Time.
- Criação de construções de controle de fluxo, incluindo
if/else
, instruções e expressõesswitch
, loops e instruçõesbreak
econtinue
.
- Declaração e instanciação de objetos Java, incluindo objetos de classes aninhadas, e ciclo de vida do objeto.
- Criação de classes e registros, definição e uso de campos e métodos de instância e estáticos, construtores e inicializadores.
- Implementação de sobrecarga de métodos, incluindo métodos var-arg.
- Compreensão de escopos de variáveis, uso de inferência de tipo, encapsulamento e criação de objetos imutáveis.
- Implementação de herança, incluindo classes abstratas e seladas, polimorfismo, e uso do operador
instanceof
e correspondência de padrões. - Criação e uso de interfaces, identificação de interfaces funcionais e uso de métodos de interface privados, estáticos e padrão.
- Criação e uso de enumerações com campos, métodos e construtores.
- Tratamento de exceções usando blocos
try/catch/finally
,try-with-resources
emulti-catch
, incluindo exceções personalizadas.
- Criação de arrays Java, coleções
List
,Set
,Map
eDeque
, e manipulação de seus elementos.
- Uso de Streams Java e Streams primitivos com expressões lambda para fornecer, filtrar, mapear, consumir e ordenar dados.
- Realização de decomposição, concatenação, redução, agrupamento e particionamento em streams sequenciais e paralelos.
- Definição de módulos e suas dependências, exposição de conteúdo do módulo e definição de serviços.
- Compilação de código Java, produção de JARs modulares e não modulares, imagens de tempo de execução e migração usando módulos automáticos e sem nome.
- Criação de threads de trabalho usando
Runnable
eCallable
, e gerenciamento do ciclo de vida de threads. - Desenvolvimento de código thread-safe utilizando mecanismos de bloqueio e API concorrente.
- Processamento de coleções Java simultaneamente, incluindo o uso de streams paralelos.
- Leitura e gravação de dados de console e arquivos usando fluxos de E/S.
- Serialização e desserialização de objetos Java.
- Criação, percurso, leitura e gravação de objetos
Path
e suas propriedades usando a APIjava.nio.file
.
- Criação de conexões, execução de instruções básicas, preparadas e solicitáveis, processamento de resultados de consultas e controle de transações usando a API JDBC.
- Implementação de localização usando localidades, pacotes de recursos, análise e formatação de mensagens, datas, horas e números, incluindo valores monetários e percentuais.
- Importação e Pacotes: Presuma que todas as instruções de importação e pacotes necessários estão incluídas.
- Nomes de Arquivos e Diretórios: Presuma que todas as classes estão em um único arquivo ou em arquivos separados no mesmo diretório.
- Quebras de Linha Não Intencionais: Considere que quebras de linha não intencionais em exemplos de código são uma extensão da mesma linha.
- Fragmentos de Código: Assuma que todo o código de suporte necessário existe e é compilável.
- Comentários Descritivos: Considere que comentários descritivos, como "setters e getters vão aqui", indicam que o código necessário está presente e funcional.
- Compreensão dos fundamentos da API Java Logging.
- Uso de anotações como
@Override
,@FunctionalInterface
,@Deprecated
,@SuppressWarnings
e@SafeVarargs
. - Uso de genéricos, incluindo curingas.