

Incerto onde
começar?
Track
Certificado
Essenciais de Java
4.5+
★★★★★
★★★★★
11 avaliações
Beginner
Embarque em uma jornada abrangente pelo universo da programação Java. Seja você um iniciante ou alguém com alguma experiência em codificação, este curso irá fornecer-lhe o conhecimento e as habilidades necessárias para se destacar como desenvolvedor Java. Mostre mais
java
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity TeamsWhat you will learn
- Build a strong foundation in Java by learning essential syntax, data types, and control structures
- Expand your Java knowledge with advanced concepts, enhancing your ability to write efficient and maintainable code
- Master Object-Oriented Programming (OOP) principles, including encapsulation, inheritance, and polymorphism
- Learn how to work with data structures in Java, such as lists, sets, maps, and queues, to optimize performance
- Understand the fundamentals of unit testing using JUnit, covering different types of testing methodologies
- Dive into Java multithreading to develop high-performance applications that execute multiple tasks concurrently
- 216 chapters
- 32 hours
- 376 tasks
Trusted by employees of leading companies
Learning track content
Module 1 / Fundamentos de Java
Descubra as características exclusivas do Java e entenda por que é uma linguagem de programação recomendada para aprender. Escreva seu primeiro código Java e explore como exibir texto no console.
Aprenda os fundamentos da programação, aprofunde-se nos tipos de dados primitivos e explore operações com eles. Escreva códigos que realizam tarefas matemáticas e avaliam condições para uma execução eficiente.
Explore diversos laços como for, while e do-while, que são essenciais em qualquer linguagem de programação. Os laços permitem iteração eficiente sobre grandes conjuntos de dados, economizando tempo significativo. Utilize-os amplamente em tarefas como ordenação, manipulação de arrays, coleções e mais.
Aprenda a utilizar arrays de forma eficaz na programação Java, descobrindo como agrupar dados em arrays e explorando métodos e propriedades comuns para trabalhar com eles. Serão também examinadas técnicas para manipulação e otimização de arrays em aplicações do mundo real.
Aprenda sobre String, um tipo de dado fundamental em Java, e descubra seus diversos métodos e operações integrados. Explore String e StringBuilder, compreendendo seus métodos básicos e como utilizar strings de forma eficaz em Java.
Module 2 / Java Avançado
Ao longo das próximas lições, você se familiarizará com o funcionamento interno do Java e descobrirá métodos otimizados para trabalhar com a linguagem. Isso envolverá a exploração das operações do Java em nível de computador e a adoção de melhores práticas para utilizar conceitos conhecidos de forma eficiente.
Você já se deparou com métodos e agora finalmente entenderá o que eles realmente são, como criar seus próprios métodos e como trabalhar com eles. Você aprenderá a retornar os valores desejados dos métodos e a melhorar significativamente a qualidade e a lógica do seu código.
Prepare-se para mergulhar no mundo da String e descobrir mais sobre seu funcionamento interno e métodos. Exploraremos os recursos fascinantes que a String oferece, incluindo a capacidade de personalizar o método "toString", dividir strings em substrings e utilizar índices para recuperação eficiente de dados. Vamos embarcar nesta jornada para expandir nosso conhecimento sobre manipulação de Strings!
Nesta seção, você aprenderá a criar suas próprias classes e seus objetos. Será possível utilizar métodos de uma classe em outra e estabelecer relações entre elas. Prepare-se para descobrir muitos conceitos interessantes e aprofundar-se ainda mais na programação orientada a objetos!
Nesta seção, continuaremos nosso estudo sobre classes. Exploraremos usos mais avançados de objetos de classe e aprenderemos mais sobre modificadores de acesso e como utilizá-los de forma eficaz. Também abordaremos getters e setters, pois são considerados boas práticas em programação.
Finalmente, podemos começar a aprender Programação Orientada a Objetos (POO) em Java. Será desafiador, mas estou confiante de que você terá sucesso! Nesta seção, abordaremos todos os princípios da POO e explicaremos por que a POO é importante. Você aprenderá como herdar classes, sobrecarregar e sobrescrever métodos, encapsular dados de outras classes e trabalhar com abstração. Além disso, todos esses conceitos teóricos serão reforçados com exercícios práticos, realizando tarefas no seu IDE. Você adquirirá um amplo conhecimento, tanto prático quanto teórico, então vamos começar!
Na seção anterior, concluímos que toda Programação Orientada a Objetos é construída principalmente sobre abstração. No entanto, uma classe abstrata possui uma limitação significativa – você só pode herdar de uma única classe abstrata. Mas e se precisarmos de mais?
As interfaces entram em cena para resolver esse problema. Nesta seção, você aprenderá o que é uma interface, por que ela é necessária, como utilizá-la corretamente e continuará praticando Programação Orientada a Objetos. Vamos transformá-lo em um profissional!
Module 4 / Estruturas de Dados em Java
Nesta seção, você será introduzido ao conceito de lista e aos tipos de listas mais comumente utilizados. Você aprenderá como criá-las e usar diversas listas corretamente.
Nesta seção, você será apresentado a estruturas de dados que não são usadas com tanta frequência, mas que ainda são valiosas. Estruturas de dados como conjunto, pilha, fila e deque ajudarão você a compreender melhor como o Java funciona e suas diversas aplicações com bancos de dados. Haverá também muita prática para reforçar tanto o novo material quanto o já aprendido anteriormente.
Esta seção irá apresentar-lhe uma estrutura de dados chamada mapa. Esta estrutura de dados opera com base no princípio de pares chave-valor, o que significa que recuperamos dados com base em uma chave específica. Isso nos permite construir várias estruturas de dados que se assemelham bastante a bases de dados. Você também aprenderá sobre conceitos como HashCode e explorará estruturas de dados como HashMap e HashSet.
Os retoques finais na maestria das estruturas de dados básicas. Nesta seção, falaremos sobre outra estrutura de dados - enum, e também exploraremos como trabalhar com o fluxo de informações na estrutura de dados usando a API Stream.
Module 5 / Java JUnit Library. Types of Testing
Let's talk about types of testing and which testing methods developers use. You will learn about the stages an application goes through before being delivered to the client and the specific tests you will need to write.
In this section, we're going to dive into unit testing — you'll get the rundown on its structure in Java and the ins and outs of crafting them the right way. Setting up your IDE, importing necessary libraries, and lots of hands-on practice.
In this section, we will enhance our coding skills by dealing with errors that can also be caught in unit tests. When testing an application, you may come across various errors, and sometimes they should be turned into exceptions. I will explain how to catch exceptions in your code, test them, and handle them properly.
Module 6 / Multithreading em Java
This section will delve into the foundational concepts of multithreading in Java, focusing on the creation and management of threads, and the use of synchronization techniques to avoid conflicts. You’ll also learn how to utilize essential keywords and methods to ensure the accurate and reliable execution of multithreaded programs, providing a solid understanding of how to handle concurrency effectively in your applications.
This section explores synchronized collections in Java, explaining their purpose and the common concurrency issues they are designed to solve. You’ll gain insights into how these collections work, why they are essential in multithreaded environments, and how they help ensure safe and consistent data manipulation when multiple threads access shared resources.
This section covers high-level synchronization mechanisms in Java, such as the use of Lock and Condition, semaphores, barriers, atomic variables, and thread pooling with Executors. Each topic is paired with practical exercises designed to reinforce your understanding and help you apply the theoretical knowledge to real-world scenarios.
This section explores fundamental multithreaded programming patterns and practices such as Producer-Consumer, Fork/Join, ThreadLocal, and asynchronous programming with CompletableFuture. You'll work through examples and see the practical outcomes of these approaches, gaining hands-on experience that will enable you to apply these techniques effectively in real-world applications.
Module 7 / Stream API
Descubra como a Stream API revoluciona o processamento de dados em Java com sua abordagem expressiva e funcional. Explore sua arquitetura, princípios e principais funcionalidades para escrever código conciso e eficiente.
Aprenda sobre as diversas operações intermediárias disponíveis na Stream API que permitem manipular e processar dados em um estilo funcional. Essas operações, como filtragem, transformação e ordenação, possibilitam trabalhar de forma eficiente com coleções e realizar tarefas como remoção de duplicatas, limitação de resultados ou manipulação de estruturas aninhadas. Cada operação pode ser combinada para criar pipelines de dados poderosos, tornando seu código mais conciso e legível.
Aprenda sobre as diversas operações terminais disponíveis na Stream API que permitem processar e recuperar dados de forma eficiente. Essas operações, como coleta, redução e contagem, possibilitam agregar resultados, localizar elementos específicos ou realizar efeitos colaterais, como impressão ou gravação em arquivo. Compreender essas operações auxilia no tratamento eficiente de tarefas de processamento de dados, mantendo o código conciso e expressivo.
Descubra como aplicar a Stream API em cenários do mundo real, melhorando a legibilidade e a eficiência do código. Aprenda a refatorar códigos existentes, analisar compensações de desempenho e tratar exceções adequadamente. Auxilia na escrita de código Java mais limpo e de fácil manutenção utilizando a Stream API.
Requirements
- A computer with a browser - all browsers are supported.
- Your enthusiasm to enhance your tech skills.
- Everything else needed to start learning and practicing is already included in this course.
Over 200,000 5-star ratings and counting
Ruslan Kravchuk
O principal é aprender e não desistir
O material é bom, há muito a aprender, tudo para se tornar melhor e o principal é aprender o que você quer....
Matteo Comune
Graças a eles, estou aprendendo muito…
Graças a eles, estou aprendendo muito mais rápido porque eles ajudam você a entender tudo desde o início. É o melhor site que ajuda pessoas sem conhecimento em TI...
Yuliana Cadavid
óptimo curso para iniciantes
ótimo curso para iniciantes, eles testam o seu conhecimento em cada lição...
Elpunzon
Estou a gostar da minha experiência com a Codefinity…
Estou a gostar da minha experiência de aprendizagem do Python com a Codefinity. A forma de aprendizagem ao meu ritmo é óptima porque posso ajustá-la ao meu horário...
Alexandru Alexandru
É bom aprender com o Codefinity
É bom aprender com o Codefinity. É fácil e tem bons exemplos do que aprendi aqui...
jacob Templet
Easy to follow along with and provides…
É fácil seguir e proporciona desafios no meu dia-a-dia. O desafio mantém-me querendo aprender dia após dia...
Elan
A Codefinity é uma ferramenta de aprendizagem abrangente…
A Codefinity é uma ferramenta de aprendizagem abrangente que ajuda a desenvolver as suas habilidades como engenheiro de software ou cientista de dados. Os exercícios são divertidos...
Thibault
Primeira vez aprendendo a programar
Primeira vez a aprender a programar e conseguindo-o com sucesso com a Codefinity - obrigado...
Adrien Morel
Bem desenhado para iniciantes totais
Bem desenhado para iniciantes totais, progresso incremental e faz-me sentir confiante....
_Gracy
é simplesmente muito bem explicado
é simplesmente perfeitamente bem explicado! Até agora, não tive qualquer dificuldade porque tudo é muito bem gerido...
Ruslan Kravchuk
O principal é aprender e não desistir
O material é bom, há muito a aprender, tudo para se tornar melhor e o principal é aprender o que você quer....
Matteo Comune
Graças a eles, estou aprendendo muito…
Graças a eles, estou aprendendo muito mais rápido porque eles ajudam você a entender tudo desde o início. É o melhor site que ajuda pessoas sem conhecimento em TI...
Yuliana Cadavid
óptimo curso para iniciantes
ótimo curso para iniciantes, eles testam o seu conhecimento em cada lição...
Elpunzon
Estou a gostar da minha experiência com a Codefinity…
Estou a gostar da minha experiência de aprendizagem do Python com a Codefinity. A forma de aprendizagem ao meu ritmo é óptima porque posso ajustá-la ao meu horário...
Alexandru Alexandru
É bom aprender com o Codefinity
É bom aprender com o Codefinity. É fácil e tem bons exemplos do que aprendi aqui...
jacob Templet
Easy to follow along with and provides…
É fácil seguir e proporciona desafios no meu dia-a-dia. O desafio mantém-me querendo aprender dia após dia...
Elan
A Codefinity é uma ferramenta de aprendizagem abrangente…
A Codefinity é uma ferramenta de aprendizagem abrangente que ajuda a desenvolver as suas habilidades como engenheiro de software ou cientista de dados. Os exercícios são divertidos...
Thibault
Primeira vez aprendendo a programar
Primeira vez a aprender a programar e conseguindo-o com sucesso com a Codefinity - obrigado...
Adrien Morel
Bem desenhado para iniciantes totais
Bem desenhado para iniciantes totais, progresso incremental e faz-me sentir confiante....
_Gracy
é simplesmente muito bem explicado
é simplesmente perfeitamente bem explicado! Até agora, não tive qualquer dificuldade porque tudo é muito bem gerido...
Data Engineer
Certificado de Conclusão
Mostre suas habilidades recém-adquiridas. Você merece
Discover more
Learning tracks
Somente para Ultimate
1 Curso
1 Projeto
0 Task
Somente para Ultimate
7 Cursos
343 Tarefas
Somente para Ultimate
4 Cursos
98 Tarefas
Somente para Ultimate
5 Cursos
145 Tarefas
Somente para Ultimate
4 Cursos
115 Tarefas
Somente para Ultimate
6 Cursos
101 Tarefas
Somente para Ultimate
6 Cursos
195 Tarefas
Somente para Ultimate
6 Cursos
186 Tarefas
Somente para Ultimate
2 Cursos
1 Projeto
57 Tarefas
Somente para Ultimate
4 Cursos
143 Tarefas
Somente para Ultimate
5 Cursos
178 Tarefas
Somente para Ultimate
5 Cursos
163 Tarefas
Somente para Ultimate
6 Cursos
306 Tarefas
Somente para Ultimate
6 Cursos
250 Tarefas
Somente para Ultimate
8 Cursos
2 Projetos
185 Tarefas
Somente para Ultimate
5 Cursos
184 Tarefas
Somente para Ultimate
7 Cursos
293 Tarefas
Somente para Ultimate
1 Projeto
0 Task
Somente para Ultimate
2 Cursos
21 Tarefas
Somente para Ultimate
5 Cursos
139 Tarefas
Somente para Ultimate
2 Cursos
0 Task
Somente para Ultimate
4 Cursos
81 Tarefas
Somente para Ultimate
13 Cursos
555 Tarefas
Somente para Ultimate
13 Cursos
555 Tarefas
Somente para Ultimate
1 Curso
0 Task
Somente para Ultimate
0 Task
Somente para Ultimate
6 Cursos
180 Tarefas
Somente para Ultimate
3 Cursos
70 Tarefas
Somente para Ultimate
7 Cursos
280 Tarefas
Somente para Ultimate
5 Cursos
237 Tarefas
Somente para Ultimate
4 Cursos
125 Tarefas
Somente para Ultimate
4 Cursos
162 Tarefas
Somente para Ultimate
1 Curso
15 Tarefas
Somente para Ultimate
3 Cursos
75 Tarefas
Somente para Ultimate
3 Cursos
41 Tarefas
Somente para Ultimate
3 Cursos
180 Tarefas
Somente para Ultimate
3 Cursos
61 Tarefas
Somente para Ultimate
2 Cursos
1 Projeto
37 Tarefas
Somente para Ultimate
3 Cursos
36 Tarefas
Somente para Ultimate
2 Cursos
1 Projeto
37 Tarefas
Somente para Ultimate
5 Cursos
134 Tarefas
Somente para Ultimate
6 Cursos
293 Tarefas
Somente para Ultimate
5 Cursos
206 Tarefas
Somente para Ultimate
3 Cursos
2 Projetos
60 Tarefas
Learning tracks
trilha
TEST TRACK 12
Iniciante
4.0
(13802)
trilha
Desenvolvimento Web Full Stack
Iniciante
4.5
(70)
trilha
Torne-se um Desenvolvedor React
Intermediário
4.8
(8)
trilha
Análise e Visualização de Dados em Python
Intermediário
4.4
(9)
trilha
SQL do Zero ao Herói
Iniciante
4.7
(101)
trilha
C++ para Iniciantes
Iniciante
3.8
(27)
trilha
Python de Zero a Herói
Iniciante
4.6
(325)
trilha
Domínio em Aprendizado de Máquina
Intermediário
4.7
(9)
trilha
Python Além do Intermediário
Iniciante
5.0
(2)
trilha
Desenvolvimento de Jogos com Unity
Iniciante
4.4
(8)
trilha
Torne-se um Desenvolvedor Django
Avançado
4.5
(33)
trilha
Flask para Leigos
Intermediário
4.5
(37)
trilha
Fundação de Desenvolvimento Frontend
Iniciante
4.6
(59)
trilha
Web Developer from Zero to Hero
Iniciante
4.5
(68)
trilha
Preparation for Data Science
Intermediário
4.1
(21)
trilha
Odisseia do Deep Learning
Avançado
5.0
(3)
trilha
Desenvolvimento Web com C#
Iniciante
4.6
(108)
trilha
TEST E2E TRACK BEGINNER
Iniciante
trilha
PT Track
4.7
(3)
trilha
Skilled Python BackEnd Developer
Avançado
4.6
(298)
trilha
Test Recalculate
Iniciante
1.0
(1)
trilha
Essenciais do Excel
Iniciante
4.5
(41)
trilha
Full-Stack .NET Developer Journey
Intermediário
4.6
(140)
trilha
Full-Stack .NET Developer Journey
Intermediário
4.6
(140)
trilha
Test track with rating
Avançado
3.5
(8)
trilha
TEST TEST TRACK
Iniciante
trilha
Fundamentos do Analista de Dados
Iniciante
4.7
(122)
trilha
Domínio de C++
Avançado
trilha
Java Web
Avançado
4.5
(36)
trilha
Torne-se um Engenheiro de QA
Iniciante
4.5
(50)
trilha
Produção de Vídeo com Adobe
Iniciante
trilha
Ferramentas de Design UI/UX
Iniciante
trilha
Test image upload track
Iniciante
trilha
Habilidades Essenciais de Escritório
Iniciante
4.6
(30)
trilha
GitHub from Zero to Hero
Iniciante
5.0
(1)
trilha
Desenvolvimento de Sites sem Código
Iniciante
trilha
C Programming & Low-Level Development
Iniciante
trilha
testes
Iniciante
4.5
(4)
trilha
Test translation track
Intermediário
4.0
(2)
trilha
Test CMS Track
Iniciante
4.5
(4)
trilha
Python for Data Analysis
Intermediário
4.0
(13)
trilha
Digital Marketing Essentials
Iniciante
trilha
Complete Social Media Management
Iniciante
trilha
Business AI Toolkit
Iniciante
4.5
(2)
Become a Development expert
Interactive exercises
Learning videos
AI-assistant on all courses
Workspaces for designing your own projects
Ready to get started?
ProBest intro offer | UltimateA complete experience to kickstart your career | |
---|---|---|
85+ Top-Rated courses | ||
Completion certificates | ||
AI-Assistant in all courses | ||
20+ hands-on Real-world projects | ||
Personalized study tracks | ||
Unlimited workspaces | ||
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams