0Pricing
Java Academy icon

Java Academy

JAVABackendWebMobileEnterpriseBeginnerCloudDatabaseAndroidDesktopNetwork

Torne-se proficiente em programação Java e desenvolva aplicações poderosas com Java Academy.

🤖 Com Inteligência Artificial📚 104 cursos👥 100.000+ alunos⭐ Classificação 4,9
Visão Geral do Curso

Java: Da Primeira Classe aos Sistemas Prontos para Produção

Java tem sido a base do software empresarial, desenvolvimento Android e sistemas backend em larga escala por quase três décadas. Executa na JVM, vem com uma biblioteca padrão rica, e alimenta tudo, desde plataformas de negociação financeira até microsserviços em nuvem. Esta trilha constrói competência genuína em Java — começando com variáveis e fluxo de controle, terminando com internals da JVM, virtual threads e compilação nativa via GraalVM.

O Que Você Aprenderá

Você progredirá da sintaxe central — variáveis, tipos de dados, loops e métodos — através do design orientado a objetos com classes, herança, polimorfismo, sealed classes e records. Os estágios intermediários cobrem o framework Collections completo, as APIs java.time e NIO.2, expressões lambda, interfaces funcionais e a API Streams incluindo collectors, spliterators e primitive streams. Cursos posteriores abordam configuração Spring Boot e injeção de dependência, Spring Data JPA, validação de REST API, testes de integração JUnit 5 e segurança baseada em JWT. O final avançado da trilha cobre ExecutorService, locks, variáveis atômicas, CompletableFuture, concorrência estruturada, virtual threads via Project Loom, class loading da JVM e bytecode, compilação de imagem nativa GraalVM e profiling de desempenho com JMH.

O Caminho de Aprendizado

Mais de 120 cursos abrangem A1 até C2. Os cursos A1 e A2 estabelecem os fundamentos: o sistema de tipos, casting, autoboxing, wrapper classes, arrays, condicionais e métodos. B1 cobre Java orientado a objetos em profundidade — enums, inner classes, iterators, comparators, internals de HashMap, tratamento de exceções, serialização e ferramentas de build como Maven e Gradle. B2 introduz programação funcional, generics com bounded wildcards, anotações customizadas e uma sequência prática de Spring Boot terminando em um Mini Project: REST API. Os cursos C1 são onde concorrência e desempenho ganham destaque — parallel streams, Java Memory Model, garbage collection, reflection, dynamic proxies e concorrência estruturada. A trilha encerra em C2 com a Foreign Function and Memory API, a capacidade Java de nível mais baixo para interoperabilidade direta com código nativo.

Como Funciona

Cada curso é dividido em aulas curtas e focadas que você completa no editor de código integrado com feedback em tempo real. Um tutor IA está disponível sempre que você fica travado, e mini projects em marcos-chave — Word Stats, Shape Hierarchy, Log Analyzer, REST API e Parallel Stats — permitem que você aplique o que aprendeu antes de prosseguir.

Comece a Aprender →

Como Você Aprenderá

🎯
Aulas Interativas
Exercícios de codificação práticos com feedback em tempo real
🤖
Tutor de IA
Obtenha ajuda instantânea de nossa IA quando você ficar preso
💻
Editor Integrado
Escreva e execute código diretamente no seu navegador
🏆
Certificado
Ganhe um certificado ao concluir o curso
Currículo

104 Cursos

Todos os cursos no caminho de aprendizado Java Academy.

01

Introdução ao Java

A13 aulas

Java é uma linguagem de programação de alto nível e orientada a objetos, apresentada em 1995 pela Sun Microsystems. Conhecida por sua capac…

02

Scanner e Entrada pelo Console

A14 aulasPRO

Scanner e Entrada pelo Console: lendo entrada com Scanner, lendo números e linhas e muito mais

03

Olá, Java e configuração do ambiente de desenvolvimento integrado

A13 aulasPRO

Comece sua jornada com Java: aprenda o que é programação, como Java é executado na JVM e quais ferramentas você precisará a seguir. Este mi…

04

Fundamentos essenciais de variáveis e expressões

A13 aulasPRO

Domine as variáveis e expressões de Java: aprenda os tipos primitivos, as declarações, a atribuição, a impressão de valores e os fundamento…

05

Sistema de tipos e conversões em Java

A24 aulasPRO

Domine o sistema de tipos do Java: tipos primitivos e de referência, conversões de alargamento e estreitamento, conversões explícitas e o o…

06

Matemática e formatação de números em Java

A24 aulasPRO

Explore a classe Math, BigDecimal para precisão financeira, NumberFormat para saída adaptada à localidade e resolução prática de problemas…

07

Expressões switch e Sintaxe de Seta

A24 aulasPRO

Expressões switch e Sintaxe de Seta: switch no estilo de seta, switch como expressão e muito mais

08

Blocos de Texto e Strings de Várias Linhas

A24 aulasPRO

Blocos de Texto e Strings de Várias Linhas: declarando blocos de texto, indentação e remoção e muito mais

09

var e Inferência de Tipo Local

A24 aulasPRO

var e Inferência de Tipo Local: usando var para variáveis locais, quando var melhora a legibilidade e muito mais

10

Classes Wrapper e Autoboxing

A24 aulasPRO

Classes Wrapper e Autoboxing: tipos primitivos versus tipos wrapper, autoboxing e unboxing e muito mais

11

A Classe Utilitária Arrays

A24 aulasPRO

A Classe Utilitária Arrays: Arrays.sort e ordenação, Arrays.binarySearch e muito mais

12

Utilitários Java para Aleatoriedade e Matemática

A24 aulasPRO

Utilitários Java para Aleatoriedade e Matemática: a classe Math, gerando números aleatórios e muito mais

13

Lendo entrada com BufferedReader

A24 aulasPRO

Leia com eficiência entradas do usuário e de arquivos em Java.

14

Expressões ternárias e condicionais em Java

A24 aulasPRO

Escreva decisões compactas com o operador condicional.

15

Métodos de char e Character em Java

A24 aulasPRO

Trabalhe com caracteres individuais usando a classe Character.

16

Formatando a saída com printf

A24 aulasPRO

Produza texto bem formatado com especificadores de formato.

17

Laços rotulados e controle de fluxo em Java

A24 aulasPRO

Controle laços aninhados com break, continue e rótulos.

18

Condições I: fundamentos de if/else

A23 aulasPRO

Tome decisões em Java usando if, else if e else. Crie expressões booleanas claras com operadores de comparação e lógicos. Lições curtas, ad…

19

Condições II: operadores e switch

A23 aulasPRO

Aprofunde-se nas comparações (==, !=, <, >, <=, >=) e na lógica booleana (&&, ||, !). Aprenda sobre precedência, agrupamento com parênteses…

20

Laços I: while e do-while

A22 aulasPRO

Aprenda os laços while passo a passo: inicialização, condição, atualização e como evitar laços infinitos. Pratique pequenos padrões que rep…

21

Laços II: for e padrões

A23 aulasPRO

Domine o laço for: inicialização, condição e atualização em uma única linha. Escreva laços de contagem, somas e padrões simples. Aprenda a…

22

Operadores em Java

A21 aulaPRO

Java oferece muitos operadores para trabalhar com os dados que temos. Com a ajuda desses operadores, podemos manipular esses dados. Entre e…

23

Cadeias de caracteres em Java

A21 aulaPRO

O tipo de dado cadeia de caracteres é usado em Java para armazenar nossos dados textuais. Em Java, as cadeias de caracteres são tipos de da…

24

Arrays I: arrays unidimensionais

A23 aulasPRO

Aprenda sobre arrays unidimensionais: o que são, como declará-los e criá-los, como acessar e atualizar elementos, usar length e for-each ap…

25

Arrays II: Arrays bidimensionais

A26 aulasPRO

Aprenda arrays bidimensionais em Java: declare e crie-os, acesse linhas e colunas e percorra-os com loops aninhados. Pratique o cálculo de…

26

Métodos I: Fundamentos

A23 aulasPRO

Domine os fundamentos dos métodos Java: assinaturas, parâmetros e argumentos, convenções de chamada e design básico. Lições curtas e objeti…

27

Métodos II: Design e reutilização

A23 aulasPRO

Aprenda a criar e reutilizar métodos com eficiência: entenda a semântica de passagem por valor do Java, escolha entre métodos estáticos e d…

28

Enums em Java

B14 aulasPRO

Aprenda a definir e usar enums em Java: constantes enum, campos, métodos, expressões switch com enums e as coleções EnumSet/EnumMap.

29

Records e dados imutáveis em Java

B14 aulasPRO

Descubra os Records do Java (Java 16+): criação de estruturas imutáveis de dados, construtores compactos, métodos personalizados em records…

30

StringBuilder e Desempenho de Strings

B14 aulasPRO

StringBuilder e Desempenho de Strings: por que strings são imutáveis, criando strings com StringBuilder e muito mais

31

BigDecimal e BigInteger

B14 aulasPRO

BigDecimal e BigInteger: por que não usar double para dinheiro, trabalhando com BigDecimal e muito mais

32

A API de Data e Hora java.time

B14 aulasPRO

A API de Data e Hora java.time: LocalDate, LocalTime, LocalDateTime, Instant e Duration e muito mais

33

Optional em Java

B14 aulasPRO

Use Optional para eliminar NullPointerExceptions: crie, mapeie, filtre e consuma Optionals de forma idiomática em Java 17+.

34

Análise aprofundada de String em Java

B14 aulasPRO

Vá além das strings básicas: StringBuilder, StringJoiner, expressões regulares, String.format, blocos de texto e padrões comuns de algoritm…

35

Varargs, sobrecarga e membros estáticos em Java

B14 aulasPRO

Domine a resolução da sobrecarga de métodos, os parâmetros varargs, os campos e métodos estáticos e os padrões de design de classes utilitá…

36

Classes internas e anónimas em Java

B14 aulasPRO

Explore variantes de classes aninhadas: classes aninhadas estáticas, classes internas, classes locais, classes anónimas e quando cada varia…

37

Iteradores e Iterable em Java

B14 aulasPRO

Implemente interfaces Iterable e Iterator personalizadas para tornar as suas próprias estruturas de dados compatíveis com ciclos for-each e…

38

Comparadores e ordenação em Java

B14 aulasPRO

Ordene coleções e arrays usando Comparable, Comparator, referências a métodos e cadeias de ordenação multinível em situações reais de dados.

39

LinkedList e Deque em Java

B14 aulasPRO

Compreenda os componentes internos de LinkedList, a estrutura duplamente ligada, as operações de Deque, a simulação de pilhas e quando Link…

40

TreeMap e TreeSet em Java

B14 aulasPRO

Domine coleções ordenadas: operações NavigableMap de TreeMap, TreeSet para elementos únicos ordenados, subMap/headMap/tailMap e fundamentos…

41

API Path e Files do Java NIO.2

B14 aulasPRO

Navegue pela API moderna java.nio.file: criação de Path, métodos utilitários de Files, percurso de diretórios com walkFileTree e monitoriza…

42

Serialização em Java e Persistência de Objetos

B14 aulasPRO

Compreenda a serialização em Java: a interface Serializable, campos transient, serialVersionUID, os métodos personalizados writeObject/read…

43

Classes e Interfaces Seladas

B14 aulasPRO

Classes e Interfaces Seladas: declarando tipos selados, cláusula permits e muito mais

44

Correspondência de Padrões para instanceof e Records

B14 aulasPRO

Correspondência de Padrões para instanceof e Records: correspondência de padrões para instanceof, padrões de record e muito mais

45

Expressões Regulares com Pattern e Matcher

B14 aulasPRO

Expressões Regulares com Pattern e Matcher: compilando padrões, encontrando e correspondendo padrões e muito mais

46

Internals de HashMap e equals/hashCode

B14 aulasPRO

Internals de HashMap e equals/hashCode: como HashMap funciona, o contrato de equals/hashCode e muito mais

47

EnumMap, EnumSet e Enums Avançados

B14 aulasPRO

EnumMap, EnumSet e Enums Avançados: enums com campos e métodos, métodos abstratos em enums e muito mais

48

Registro de Atividades com SLF4J e Logback

B14 aulasPRO

Registro de Atividades com SLF4J e Logback: por que usar registro estruturado, fachada SLF4J e registradores e muito mais

49

Pacotes e modificadores de acesso

B11 aulaPRO

Java usa modificadores de acesso para limitar o acesso entre objetos. Essa limitação pode ocorrer no nível da classe, da variável, do métod…

50

Mini projeto: Estatísticas de palavras

B13 aulasPRO

Crie uma pequena ferramenta de estatísticas de palavras: transforme o texto em tokens, normalize-o, conte e apresente os resultados princip…

51

OOP I: Classes e objetos

B13 aulasPRO

Aprenda os fundamentos de classes e objetos em Java. Crie classes simples, instancie objetos e entenda o papel deles na OOP.

52

OOP II: Práticas

B13 aulasPRO

Práticas cotidianas de OOP em Java: a palavra-chave this, um toString legível, equals e hashCode corretos e dicas práticas para aplicativos…

53

Herança I

B13 aulasPRO

Aprenda herança básica em Java: estenda uma classe-base, chame construtores super e reutilize comportamentos comuns com segurança.

54

Abstrações e interfaces

B13 aulasPRO

Classes abstratas e interfaces em Java: quando usá-las, como declará-las e como orientam o design.

55

Mini projeto: Hierarquia de formas

B13 aulasPRO

Projete e implemente uma pequena hierarquia de formas com uma base abstrata, formas concretas e comportamentos polimórficos.

56

Coleções I: Listas e conjuntos

B13 aulasPRO

Aprenda a usar Lists e Sets do Java: quando usar cada um, operações básicas e padrões simples de iteração.

57

Coleções II: Mapas e algoritmos

B13 aulasPRO

Aprenda a usar Maps para consultas de chave→valor, contagem de frequências e algoritmos simples com listas e conjuntos.

58

Exceções I: Fundamentos

B13 aulasPRO

Aprenda os fundamentos do tratamento de exceções: blocos try, catch e finally com exemplos simples.

59

Exceções II: Prática

B13 aulasPRO

Aplique o tratamento de exceções com exceções personalizadas, instruções throw e programação defensiva.

60

Arquivos e E/S I

B13 aulasPRO

Aprenda as classes Path e Files da Java NIO: crie, verifique e exclua arquivos com segurança.

61

Arquivos e E/S II

B13 aulasPRO

Aprenda a serialização de objetos Java: grave objetos em arquivos e leia-os novamente.

62

Mini projeto: Analisador de registros

B13 aulasPRO

Crie um analisador simples de registros para ler, analisar e resumir arquivos de registros.

63

Ferramentas de Compilação: Maven e Gradle

B14 aulasPRO

Ferramentas de Compilação: Maven e Gradle: estrutura de projetos Maven, plugins e objetivos do Maven e muito mais

64

JDBC e Agrupamento de Conexões

B14 aulasPRO

JDBC e Agrupamento de Conexões: fundamentos do JDBC, PreparedStatement e muito mais

65

Análise aprofundada dos coletores de Streams em Java

B24 aulasPRO

Vá além dos Streams básicos: groupingBy, partitioningBy, toMap, counting, summarizingInt, joining e criação de Collectors personalizados pa…

66

Referências a métodos em Java

B24 aulasPRO

Simplifique expressões lambda usando referências a métodos: referências estáticas, de instância, de instância arbitrária e de construtores,…

67

Padrões de Projeto em Java: de Criação

B24 aulasPRO

Implemente os quatro principais padrões de criação em Java: Singleton seguro para threads, Factory Method, Abstract Factory e Builder com A…

68

Padrões de Projeto em Java: Comportamentais

B24 aulasPRO

Domine os padrões de projeto comportamentais em Java: Observer, Strategy, Command e Template Method, com casos de uso concretos de aplicaçõ…

69

Interfaces Funcionais em Profundidade

B24 aulasPRO

Interfaces Funcionais em Profundidade: Function e BiFunction, Supplier e Consumer e muito mais

70

Fluxos de Tipos Primitivos

B24 aulasPRO

Fluxos de Tipos Primitivos: IntStream e LongStream, operações de intervalo e agregação e muito mais

71

Curingas Limitados e PECS

B24 aulasPRO

Curingas Limitados e PECS: curingas com limite superior, curingas com limite inferior e muito mais

72

Interfaces e genéricos

B23 aulasPRO

Interfaces na prática e os fundamentos dos genéricos de Java para escrever código mais seguro e reutilizável.

73

Anotações Personalizadas em Java

B24 aulasPRO

Defina anotações personalizadas, políticas de retenção e alvos, e processe-as em tempo de execução com reflexão e em tempo de compilação co…

74

Operações Avançadas de Stream e Spliterator

B24 aulasPRO

Desbloqueie recursos avançados de Stream: flatMap em estruturas aninhadas, peek para depuração, armadilhas de streams paralelos, funcioname…

75

Spring Boot: Configuração e Injeção de Dependências

B24 aulasPRO

Domine a configuração automática do Spring Boot, propriedades da aplicação, perfis, @Bean, @Component, @Service, @Repository e boas prática…

76

Spring Data JPA: Entidades e Repositórios

B24 aulasPRO

Mapeie entidades Java para tabelas de banco de dados com anotações JPA, defina repositórios do Spring Data, escreva consultas JPQL e nativa…

77

API REST com Spring Boot: Validação e Tratamento de Erros

B24 aulasPRO

Crie APIs REST robustas: Bean Validation com @Valid, validadores personalizados, tratamento global de exceções com @ControllerAdvice e deta…

78

Testes com JUnit 5: Testes Parametrizados e de Integração

B24 aulasPRO

Vá além dos testes unitários básicos: testes parametrizados com @MethodSource e @CsvSource, Testcontainers para integração com bancos de da…

79

Segurança em Java: Hashing, Criptografia e JWT

B24 aulasPRO

Implemente os fundamentos de segurança em Java: MessageDigest para hashing, criptografia AES, HMAC-SHA256 e criação e verificação de JWT se…

80

O Sistema de Módulos do Java (JPMS)

B24 aulasPRO

O Sistema de Módulos do Java (JPMS): module-info.java, requires e exports e muito mais

81

O Cliente HTTP Moderno

B24 aulasPRO

O Cliente HTTP Moderno: java.net.http.HttpClient, requisições assíncronas e muito mais

82

GraalVM e Imagem Nativa

B24 aulasPRO

GraalVM e Imagem Nativa: o que é GraalVM, criando uma imagem nativa e muito mais

83

Lambdas e interfaces funcionais

B23 aulasPRO

Aprenda lambdas e interfaces funcionais em Java.

84

Streams I: Pipelines

B23 aulasPRO

Aprenda a usar Streams do Java para processar dados com pipelines.

85

Spring Boot: primeiros passos

B23 aulasPRO

Comece a usar Spring Boot: configure o projeto, use starters e execute seu primeiro aplicativo.

86

Dados e serviços

B23 aulasPRO

Aprenda a usar Spring Data JPA e o banco de dados H2 com repositórios.

87

Testes e entrega

B23 aulasPRO

Teste aplicativos Spring com WebTestClient/JUnit, configuração e empacotamento.

88

Mini projeto: API REST

B24 aulasPRO

Projete, implemente e teste uma API REST com Spring Boot.

89

ExecutorService e conjuntos de threads em Java

C14 aulasPRO

Gira os ciclos de vida das threads com ExecutorService: conjuntos fixos, em cache e agendados, envio de tarefas Callable e processamento do…

90

Locks e variáveis atómicas em Java

C14 aulasPRO

Vá além de synchronized: ReentrantLock, ReadWriteLock, StampedLock, AtomicInteger, AtomicReference e padrões de estruturas de dados sem loc…

91

Fluxos Paralelos e Desempenho

C14 aulasPRO

Fluxos Paralelos e Desempenho: criando fluxos paralelos, quando o paralelismo ajuda e muito mais

92

Gerenciamento de Memória e Coleta de Lixo em Java

C14 aulasPRO

Compreenda o modelo de memória da JVM: regiões do heap, como Young, Old e Metaspace, algoritmos de GC, como G1 e ZGC, vazamentos de memória…

93

CompletableFuture e Pipelines Assíncronos em Java

C14 aulasPRO

Componha cálculos assíncronos com CompletableFuture: thenApply, thenCompose, allOf, anyOf, exceptionally e construção de pipelines não bloq…

94

Reflexão e Proxies Dinâmicos em Java

C14 aulasPRO

Use a API de Reflection para inspecionar e invocar classes em tempo de execução, criar proxies dinâmicos e compreender como estruturas como…

95

内部 da JVM: Carregamento de Classes e Bytecode

C14 aulasPRO

Explore o interior da JVM: fases de carregamento de classes, hierarquia dos carregadores bootstrap, de extensão e de aplicação, inspeção de…

96

Threads Virtuais (Projeto Loom)

C14 aulasPRO

Threads Virtuais (Projeto Loom): o que são threads virtuais, criando threads virtuais e muito mais

97

Concorrência Estruturada

C14 aulasPRO

Concorrência Estruturada: o modelo de concorrência estruturada, StructuredTaskScope e muito mais

98

Microcomparações de Desempenho com JMH

C14 aulasPRO

Microcomparações de Desempenho com JMH: por que usar JMH, escrevendo uma comparação de desempenho e muito mais

99

Criação de Perfis e Ajuste de Desempenho em Java

C14 aulasPRO

Criação de Perfis e Ajuste de Desempenho em Java: identificando gargalos, Java Flight Recorder e muito mais

100

Streams II: Desempenho e armadilhas

C13 aulasPRO

Aprenda comportamentos avançados de Streams, incluindo ordenação e interrupção antecipada.

101

Concorrência I

C12 aulasPRO

Introdução à concorrência em Java com Threads, Executors e sincronização.

102

Concorrência II

C13 aulasPRO

Concorrência avançada: sincronização, locks, operações atômicas e problemas comuns.

103

Mini projeto: Estatísticas paralelas

C13 aulasPRO

Crie um projeto que calcule estatísticas em paralelo usando streams e concorrência.

104

A API de Funções Estrangeiras e Memória

C24 aulasPRO

A API de Funções Estrangeiras e Memória: por que usar FFM em vez de JNI, MemorySegment e Arena e muito mais

Perguntas Frequentes

Perguntas Frequentes

O curso Java Academy é gratuito?

Sim. Você pode começar o curso Java Academy gratuitamente e completar suas aulas interativas sem custo. Uma assinatura PRO opcional desbloqueia ferramentas avançadas de IA e um certificado compartilhável.

Preciso de experiência anterior para aprender JAVA?

Não. O curso começa com os fundamentos e gradualmente passa para tópicos mais avançados, então você pode começar mesmo sem experiência anterior com JAVA.

Como vou aprender JAVA no CoddyKit?

Você aprende fazendo. Aulas interativas curtas combinam uma explicação clara com um exercício de codificação prático que executa em tempo real, e um tutor de IA disponível 24/7 oferece ajuda personalizada sempre que você ficar preso.

Ganho um certificado ao concluir Java Academy?

Sim. Alunos PRO podem fazer um exame e ganhar um certificado de conclusão compartilhável com um código verificável para o curso Java Academy.

Posso aprender JAVA no meu celular?

Sim. CoddyKit está disponível na web e como aplicativos nativos para iOS e Android, então você pode aprender JAVA em qualquer dispositivo e seu progresso sincroniza entre eles.

Comece Java Academy Agora

Junte-se a milhares de alunos dominando programação com aulas potenciadas por IA.

Começar Grátis →Ver Todos os Cursos