

Inseguro de dónde
empezar?
Track
Certificado
Esenciales de Java
4.3+
★★★★★
★★★★★
9 reseñas
Beginner
Embárquese en un completo viaje por el reino de la programación Java. Tanto si acaba de empezar como si ya tiene experiencia en programación, este curso le proporcionará los conocimientos y habilidades necesarios para sobresalir como desarrollador Java. Mostrar más
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 las características únicas de Java y comprenda por qué es un lenguaje de programación recomendado para aprender. Escriba su primer código en Java y explore cómo imprimir texto en la consola.
Aprenda los fundamentos de la programación, profundice en los tipos de datos primitivos y explore las operaciones con ellos. Escriba código que realice tareas matemáticas y evalúe condiciones para una ejecución fluida.
- Tipos de Datos PrimitivosVista previa
- Desafío: Tipos PrimitivosVista previa
- Operaciones Matemáticas en CharVista previa
- Operaciones Matemáticas en JavaVista previa
- Sentencia If-ElseVista previa
- Sentencia Switch-CaseVista previa
- Nueva Estructura de TareaVista previa
- Desafío: Switch de Días de la SemanaVista previa
Explora varios bucles como for, while y do-while, que son esenciales en cualquier lenguaje de programación. Los bucles permiten una iteración eficiente sobre grandes conjuntos de datos, ahorrando tiempo significativo. Se aplican ampliamente en tareas como ordenamiento, trabajo con arreglos, colecciones y más.
Aprenda a utilizar arreglos de manera efectiva en la programación Java mediante el agrupamiento de datos en arreglos y la exploración de métodos y propiedades comunes para trabajar con ellos. También se examinarán técnicas para manipular y optimizar arreglos en aplicaciones del mundo real.
Aprenda sobre String, un tipo de dato fundamental en Java, y descubra sus numerosos métodos y operaciones integrados. Explore String y StringBuilder, comprendiendo sus métodos básicos y cómo utilizar cadenas de manera efectiva en Java.
Module 2 / Java Extended
Throughout the following lessons, you will become acquainted with the inner workings of Java and discover optimized methods to work with the language. This will involve exploring Java's operations at the computer level and adopting best practices for utilizing familiar concepts efficiently.
You have already encountered methods, and now you will finally understand what they actually are, how to create your own methods, and how to work with them. You will learn to return the desired values from methods and significantly improve the quality and logic of your code.
Get ready to dive into the world of String and discover more about its inner workings and methods. We'll explore the fascinating features that String offers, including the ability to customize the "toString" method, split strings into substrings, and utilize indexes for efficient data retrieval. Let's embark on this exciting journey to expand our knowledge of String manipulation!
In this section, you will learn how to create your own classes and their objects. You will be able to use methods of one class within another and establish relationships between them. Get ready to discover many interesting concepts and delve deeper into OOP programming!
- What is Class?Vista previa
- Main Class and MethodVista previa
- Access ModifiersVista previa
- Class CreationVista previa
- Challenge: Get Information About the ObjectVista previa
- ConstructorVista previa
- Challenge: Team ConstructorVista previa
- Method toString()Vista previa
- Challenge: Parrot Information DisplayVista previa
In this section, we will continue our study of classes. We will explore more advanced usage of class objects and learn more about access modifiers and how to use them effectively. We will also delve into getters and setters, as they are considered best practices in programming.
Finally, we can start learning Object-Oriented Programming (OOP) in Java. It will be challenging, but I'm confident that you'll succeed! In this section, we'll cover all the principles of OOP, explain why OOP is important. You'll learn how to inherit classes, overload and override methods, encapsulate data from other classes, and work with abstraction. Moreover, you'll reinforce all these theoretical concepts with practical exercises, working on assignments in your IDE. You'll gain a wealth of knowledge, both practical and theoretical, so let's get started!
In the previous section, we concluded that all Object-Oriented Programming is mainly built on abstraction. However, an abstract class has one significant limitation – you can inherit from only one abstract class. But what if we need more?
Interfaces come to the rescue. In this section, you will learn what an interface is, why it's necessary, how to use it correctly, and you will continue practicing Object-Oriented Programming. Let's turn you into a professional!
Module 4 / Java Data Structures
Discover the concept of lists and explore the most commonly used types in Java. Learn how to create, modify, and manage lists efficiently. Understand their internal structure and discover when to use ArrayList vs. LinkedList based on performance. Implement your own singly linked list and reinforce key concepts through practical coding challenges.
- Introduction to Data StructuresVista previa
- List and ArrayList in JavaVista previa
- Challenge: Library Management SystemVista previa
- CRUD Operations in JavaVista previa
- LinkedList in JavaVista previa
- Implementing LinkedList in JavaVista previa
- Challenge: Implementing size and delete Methods in LinkedListVista previa
- Quiz: Fundamental Data StructuresVista previa
Learn about data structures that are not as commonly used but are still valuable. Data structures like Set, Stack, Queue, and Deque will help you better understand how Java works and their various applications in databases.
Learn about key-value pair-based data retrieval, enabling the creation of structures similar to databases. Discovery of concepts like hashcode and exploration of data structures such as HashMap and HashSet are also included.
Learn to use enum for defining a fixed set of constants and explore the Stream API to process, filter, and transform data efficiently.
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 in 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.
- Collections with Multithreading SupportVista previa
- Parallel Stream APIVista previa
- BlockingQueue and its ImplementationsVista previa
- Сhallenge BlockingQueueVista previa
- ConcurrentMap and its ImplementationsVista previa
- Challenge ConcurrentMapVista previa
- CopyOnWrite CollectionVista previa
- Examples of Using Collections MethodsVista previa
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
Discover how Stream API revolutionizes data processing in Java with its expressive and functional approach. Explore its architecture, principles, and key functional features to write concise and efficient code.
- ArchitectureVista previa
- PrinciplesVista previa
- What Is a Functional Interface?Vista previa
- Predicate: Data FilteringVista previa
- Challenge: Filtering Corporate Email AddressesVista previa
- Function: Data TransformationVista previa
- Challenge: Income Tax CalculationVista previa
- Comparable: Natural Ordering of DataVista previa
- Comparator: Custom Comparison of DataVista previa
- Challenge: Sorting EmployeesVista previa
- Consumer: Processing DataVista previa
- Supplier: Data GenerationVista previa
- Bi-versions of Functional InterfacesVista previa
- Challenge: Filtering Users by Two CriteriaVista previa
- BinaryOperator: Combining Two ValuesVista previa
Learn about various intermediate operations available in the Stream API that allow you to manipulate and process data in a functional style. These operations, such as filtering, transforming, and sorting, enable you to efficiently work with collections and perform tasks like removing duplicates, limiting results, or handling nested structures. Each operation can be combined to create powerful data pipelines, making your code more concise and readable.
- Transforming Elements with the map() MethodVista previa
- Filtering Elements with the filter() MethodVista previa
- Challenge: Factory Product FilteringVista previa
- Working with Nested Structures with the flatMap() MethodVista previa
- Arranging Items in Order with the sorted() MethodVista previa
- Challenge: Selecting the Best Cars on the Production LineVista previa
- Eliminating Duplicates with the distinct() MethodVista previa
- Challenge: Factory Quality ControlVista previa
- Restricting and Skipping Elements with the limit() and skip() MethodsVista previa
- Challenge: Finding the Top 3 Hardest-Working EmployeesVista previa
- Intermediate Processing with the peek() MethodVista previa
Learn about various terminal operations available in the Stream API that allow you to process and retrieve data efficiently. These operations, such as collecting, reducing, and counting, enable you to aggregate results, find specific elements, or perform side effects like printing or writing to a file. Understanding these operations helps you efficiently handle data processing tasks while keeping your code concise and expressive.
- collect() Gathering Stream Elements into a CollectionVista previa
- Challenge: Build a Custom Collector for Category CountingVista previa
- Collectors Utility Class for Stream APIVista previa
- Processing Elements with the forEach() MethodVista previa
- Handling Values with the Optional ClassVista previa
- Aggregating Elements with the reduce() MethodVista previa
- Challenge: Calculating Total Cost with Discounts and TaxVista previa
- Calculating Stream Statistics with count(), max(), and min()Vista previa
- Retrieving Stream Summary Metrics with summaryStatistics() MethodVista previa
- Retrieving Elements from a Stream with findFirst() and findAny()Vista previa
- Challenge: Selecting Random Products Within a CategoryVista previa
- Checking Stream Elements Against a Condition with allMatch()Vista previa
- Challenge: Ensuring Fast Delivery for Expensive ProductsVista previa
Discover how to apply Stream API in real-world scenarios, improving code readability and efficiency. Learn how to refactor existing code, analyze performance trade-offs, and handle exceptions properly. Will help you write cleaner and more maintainable Java code using 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
Lo principal es aprender y no rendirse
El material es bueno, hay mucho que aprender, todo para ser mejor y lo principal es aprender lo que quieres....
Matteo Comune
Gracias a ellos estoy aprendiendo mucho…
Gracias a ellos estoy aprendiendo mucho más rápido porque te ayudan a entender todo desde cero. Es el mejor sitio web que ayuda a las personas sin conocimientos previos de IT...
Yuliana Cadavid
gran curso para principiantes
gran curso para principiantes, ponen a prueba tus conocimientos en cada lección...
Elpunzon
Estoy disfrutando de mi experiencia en Codefinity…
Estoy disfrutando de mi experiencia de aprendizaje de Python en Codefinity. La forma de aprendizaje autoinducido es genial porque puedo adaptarlo a mi horario...
Alexandru Alexandru
Es agradable aprender de codefinity
Es agradable aprender de codefinity. Es fácil y tiene buenos ejemplos de lo que aprendí aquí...
jacob Templet
Easy to follow along with and provides…
Fácil de seguir y proporciona desafío en mi vida cotidiana. El desafío me mantiene con ganas de aprender día tras día...
Elan
Codefinity es una herramienta de aprendizaje integral…
Codefinity es una herramienta de aprendizaje integral que te ayuda a desarrollar tus habilidades como ingeniero de software o científico de datos. Los ejercicios son divertidos y una buena...
Thibault
Primera vez aprendiendo a programar
Primera vez aprendiendo a programar y haciéndolo con éxito con Codefinity - Gracias...
Adrien Morel
Bien diseñado para principiantes totales
Bien diseñado para principiantes totales, el progreso incremental me da confianza....
_Gracy
simplemente está perfectamente bien explicado
¡Simplemente está perfectamente bien explicado! hasta ahora no he experimentado ninguna dificultad porque todo está tan bien organizado...
Ruslan Kravchuk
Lo principal es aprender y no rendirse
El material es bueno, hay mucho que aprender, todo para ser mejor y lo principal es aprender lo que quieres....
Matteo Comune
Gracias a ellos estoy aprendiendo mucho…
Gracias a ellos estoy aprendiendo mucho más rápido porque te ayudan a entender todo desde cero. Es el mejor sitio web que ayuda a las personas sin conocimientos previos de IT...
Yuliana Cadavid
gran curso para principiantes
gran curso para principiantes, ponen a prueba tus conocimientos en cada lección...
Elpunzon
Estoy disfrutando de mi experiencia en Codefinity…
Estoy disfrutando de mi experiencia de aprendizaje de Python en Codefinity. La forma de aprendizaje autoinducido es genial porque puedo adaptarlo a mi horario...
Alexandru Alexandru
Es agradable aprender de codefinity
Es agradable aprender de codefinity. Es fácil y tiene buenos ejemplos de lo que aprendí aquí...
jacob Templet
Easy to follow along with and provides…
Fácil de seguir y proporciona desafío en mi vida cotidiana. El desafío me mantiene con ganas de aprender día tras día...
Elan
Codefinity es una herramienta de aprendizaje integral…
Codefinity es una herramienta de aprendizaje integral que te ayuda a desarrollar tus habilidades como ingeniero de software o científico de datos. Los ejercicios son divertidos y una buena...
Thibault
Primera vez aprendiendo a programar
Primera vez aprendiendo a programar y haciéndolo con éxito con Codefinity - Gracias...
Adrien Morel
Bien diseñado para principiantes totales
Bien diseñado para principiantes totales, el progreso incremental me da confianza....
_Gracy
simplemente está perfectamente bien explicado
¡Simplemente está perfectamente bien explicado! hasta ahora no he experimentado ninguna dificultad porque todo está tan bien organizado...
Data Engineer
Certificado de Finalización
Muestra las habilidades que has adquirido recientemente. Te lo has ganado
Discover more
Learning tracks
Solo para Ultimate
1 Curso
1 Proyecto
0 Task
Solo para Ultimate
7 Cursos
345 Tareas
Solo para Ultimate
4 Cursos
98 Tareas
Solo para Ultimate
5 Cursos
145 Tareas
Solo para Ultimate
4 Cursos
115 Tareas
Solo para Ultimate
6 Cursos
101 Tareas
Solo para Ultimate
6 Cursos
195 Tareas
Solo para Ultimate
5 Cursos
135 Tareas
Solo para Ultimate
3 Cursos
1 Proyecto
125 Tareas
Solo para Ultimate
4 Cursos
143 Tareas
Solo para Ultimate
5 Cursos
180 Tareas
Solo para Ultimate
5 Cursos
165 Tareas
Solo para Ultimate
6 Cursos
308 Tareas
Solo para Ultimate
6 Cursos
252 Tareas
Solo para Ultimate
8 Cursos
2 Proyectos
185 Tareas
Solo para Ultimate
2 Cursos
80 Tareas
Solo para Ultimate
7 Cursos
293 Tareas
Solo para Ultimate
1 Proyecto
0 Task
Solo para Ultimate
2 Cursos
21 Tareas
Solo para Ultimate
5 Cursos
139 Tareas
Solo para Ultimate
2 Cursos
0 Task
Solo para Ultimate
4 Cursos
81 Tareas
Solo para Ultimate
13 Cursos
555 Tareas
Solo para Ultimate
13 Cursos
555 Tareas
Solo para Ultimate
1 Curso
0 Task
Solo para Ultimate
0 Task
Solo para Ultimate
6 Cursos
180 Tareas
Solo para Ultimate
3 Cursos
70 Tareas
Solo para Ultimate
7 Cursos
282 Tareas
Solo para Ultimate
5 Cursos
239 Tareas
Solo para Ultimate
4 Cursos
125 Tareas
Solo para Ultimate
3 Cursos
119 Tareas
Solo para Ultimate
1 Curso
15 Tareas
Solo para Ultimate
3 Cursos
75 Tareas
Solo para Ultimate
3 Cursos
41 Tareas
Solo para Ultimate
2 Cursos
151 Tareas
Solo para Ultimate
3 Cursos
61 Tareas
Solo para Ultimate
2 Cursos
1 Proyecto
38 Tareas
Solo para Ultimate
3 Cursos
36 Tareas
Solo para Ultimate
2 Cursos
1 Proyecto
38 Tareas
Solo para Ultimate
5 Cursos
134 Tareas
Solo para Ultimate
4 Cursos
159 Tareas
Solo para Ultimate
4 Cursos
154 Tareas
Learning tracks
pista
TEST TRACK 12
Principiante
4.0
(8203)
pista
Desarrollo Web Full Stack
Principiante
4.5
(59)
pista
Conviértete en un Desarrollador de React
Intermedio
4.9
(7)
pista
Análisis y Visualización de Datos con Python
Intermedio
4.6
(7)
pista
SQL de Cero a Héroe
Principiante
4.7
(93)
pista
C++ para Principiantes
Principiante
4.4
(17)
pista
Python de Cero a Héroe
Principiante
4.7
(284)
pista
Fundamentos del Aprendizaje Automático
Intermedio
4.9
(7)
pista
Python Más Allá del Intermedio
Principiante
4.7
(3)
pista
Desarrollo de Juegos con Unity
Principiante
4.6
(7)
pista
Conviértete en un Desarrollador de Django
Avanzado
4.5
(28)
pista
Manual de Flask para Principiantes
Intermedio
4.5
(32)
pista
Fundamentos del Desarrollo Frontend
Principiante
4.6
(53)
pista
Web Developer from Zero to Hero
Principiante
4.6
(57)
pista
Preparation for Data Science
Intermedio
4.5
(11)
pista
Deep Learning Odyssey
Avanzado
5.0
(3)
pista
Desarrollo Web con C#
Principiante
4.8
(98)
pista
TEST E2E TRACK BEGINNER
Principiante
pista
ES Track
4.7
(3)
pista
Skilled Python BackEnd Developer
Avanzado
4.7
(261)
pista
Test Recalculate
Principiante
pista
Fundamentos de Excel
Principiante
4.5
(39)
pista
Full-Stack .NET Developer Journey
Intermedio
4.8
(129)
pista
Full-Stack .NET Developer Journey
Intermedio
4.8
(129)
pista
Test track with rating
Avanzado
4.0
(4)
pista
TEST TEST TRACK
Principiante
pista
Fundamentos de Analista de Datos
Principiante
4.7
(116)
pista
Dominio de C++
Avanzado
pista
Java Web
Avanzado
4.5
(31)
pista
Conviértete en un Ingeniero de QA
Principiante
4.5
(44)
pista
Producción de Video con Adobe
Principiante
pista
Herramientas de Diseño UI/UX
Principiante
pista
Test image upload track
Principiante
pista
Essential Office Skills
Principiante
4.6
(24)
pista
GitHub from Zero to Hero
Principiante
pista
No-Code Website Development
Principiante
pista
C Programming & Low-Level Development
Principiante
pista
testes
Principiante
4.7
(3)
pista
Test translation track
Intermedio
pista
Test CMS Track
Principiante
4.7
(3)
pista
Python for Data Analysis
Intermedio
4.6
(9)
pista
Digital Marketing Essentials
Principiante
pista
Complete Social Media Management
Principiante
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