Free online courseJava Concurrency and Multithreading

Duration of the online course: 8 hours and 38 minutes

New course

Master Java Concurrency in this free online course. Learn threads, synchronization, ExecutorService, deadlocks, and more. Ideal for IT professionals and programmers.

Course Description

Delve into the world of Java Concurrency and Multithreading with this comprehensive free online course. Perfect for IT professionals and programming enthusiasts, this course provides an in-depth exploration of key concepts essential for mastering the complexities of Java programming. The course begins with an introduction to concurrency and multithreading, setting a strong foundation on which to build advanced skills.

Learn the intricacies of creating, starting, and stopping threads in Java, and explore the cutting-edge technology of Java Virtual Threads. Understanding memory management is crucial, and this course covers the basics of the Java Memory Model and the Happens Before Guarantee.

Gain insights into synchronization techniques using the synchronized keyword, and discover the nuances of volatile variables and CPU cache coherence. Through practical examples, you'll understand how to utilize ThreadLocal, manage race conditions, and discern the differences between concurrency and parallelism.

The course offers a deep dive into managing thread pools, exploring the functionality of Java Lock and ExecutorService, including implementations with virtual threads. You'll tackle deadlock scenarios and learn preventative measures, ensuring robust application performance.

Highlighting practical design paradigms, the course covers Java BlockingQueue and the Producer-Consumer pattern. Discover advanced techniques like compare and swap, false sharing, and single- or same-threaded designs. Additionally, you'll manage thread congestion and signaling efficiently.

Advanced topics such as ForkJoinPool and concurrent collections like ConcurrentMap and ConcurrentHashMap provide you with the skills to excel in complex programming tasks. Build a robust understanding of these essential concepts to enhance your development skills and deliver high-performance, concurrent Java applications.

Conteúdo do Curso

  • Video class: Java Concurrency and Multithreading - Introduction

    0h14m

  • Exercise: What is a primary advantage of multi-threading in modern computing?

  • Video class: Java Threads - Creating, starting and stopping threads in Java

    0h17m

  • Exercise: Which method is recommended to define the code a thread should run in Java?

  • Video class: Java Virtual Threads

    0h09m

  • Exercise: What is a primary advantage of virtual threads in Java over platform threads?

  • Video class: The Java Memory Model - The Basics

    0h23m

  • Exercise: What is the main role of the heap in Java memory management with threads?

  • Video class: Java Happens Before Guarantee - Java Memory Model - Part 2

    0h26m

  • Exercise: What role does the Java 'volatile' keyword play in multithreaded applications?

  • Video class: Java Synchronized - The synchronized keyword in Java and Java synchronized blocks and methods

    0h45m

  • Exercise: What is the effect of a synchronized method in Java?

  • Video class: Java Volatile

    0h21m

  • Exercise: What is the purpose of the 'volatile' keyword in Java?

  • Video class: CPU Cache Coherence Java Concurrency

    0h05m

  • Exercise: What is Java's thread visibility guarantee related to volatile variables?

  • Video class: Java ThreadLocal

    0h14m

  • Exercise: What value does a thread retrieve from a Java ThreadLocal instance it set earlier?

  • Video class: Race Conditions in Java Multithreading

    0h22m

  • Exercise: What is a race condition in multithreading?

  • Video class: Concurrency vs Parallelism

    0h09m

  • Exercise: What is the difference between concurrency and parallelism?

  • Video class: Thread Pools in Java

    0h18m

  • Exercise: How does a thread pool manage task execution?

  • Video class: Java Lock

    0h28m

  • Exercise: What is a key characteristic of the ReentrantLock class in Java?

  • Video class: Java ExecutorService - Part 1

    0h20m

  • Exercise: What is the purpose of the invokeAny method in Java Executor Service?

  • Video class: Java ExecutorService - Part 2

    0h21m

  • Video class: Java ExecutorService Using Virtual Threads

    0h04m

  • Exercise: What is a key benefit of using an Executor service with virtual threads in Java 19?

  • Video class: Deadlock in Java

    0h17m

  • Exercise: What can lead to a deadlock in a multithreading environment?

  • Video class: Deadlock Prevention in Java

    0h17m

  • Exercise: What is the simplest deadlock prevention technique discussed?

  • Video class: Java BlockingQueue

    0h17m

  • Exercise: What is a key feature of a Java Blocking Queue?

  • Video class: Producer Consumer Pattern - With Java Example

    0h19m

  • Exercise: What is an efficient way to utilize CPU resources in the producer-consumer pattern?

JavaScript

Free online courses on JavaScript

Cursos Online Gratuitos de JavaScript: Aprenda a Programar Agora!

Descubra a melhor seleção de cursos online gratuitos de JavaScript e dê o primeiro passo para se tornar um desenvolvedor web de sucesso. Nossa lista é atualizada regularmente para oferecer o conhecimento mais recente e relevante nesta linguagem de programação essencial.

Por que Aprender JavaScript?

JavaScript é uma das linguagens de programação mais populares do mundo. Ela é fundamental para o desenvolvimento web, permitindo a criação de páginas interativas e dinâmicas. Com esses cursos gratuitos, você poderá aprender desde o básico até tópicos avançados, como frameworks e bibliotecas populares.

Cursos para Iniciantes

Se você está começando do zero, nossos cursos gratuitos de JavaScript para iniciantes são o ponto de partida perfeito. Aprenda os conceitos fundamentais, como variáveis, tipos de dados, estruturas de controle e funções, de uma maneira fácil e acessível.

Introdução ao JavaScript

Entenda a sintaxe básica e os conceitos iniciais de JavaScript para dar seus primeiros passos na programação.

JavaScript e o DOM

Descubra como manipular o Document Object Model (DOM) para alterar elementos HTML e CSS dinamicamente.

Cursos Intermediários

Para quem já tem uma base sólida, nossos cursos intermediários de JavaScript oferecem a chance de aprofundar seus conhecimentos e aprender técnicas mais complexas.

Programação Assíncrona

Explore conceitos de assincronicidade em JavaScript, incluindo callbacks, promessas e async/await.

Frameworks e Bibliotecas

Aprenda a utilizar frameworks e bibliotecas populares como React, Angular e Vue.js para criar aplicações web modernas e escaláveis.

Cursos Avançados

Desenvolvedores experientes também encontrarão cursos avançados para aprimorar ainda mais suas habilidades em JavaScript.

Padrões de Design em JavaScript

Domine padrões de design e técnicas de arquitetura de software para escrever código JavaScript mais eficiente e manutenível.

Testes e Depuração

Aprenda a escrever testes automatizados e a depurar seu código JavaScript como um profissional, garantindo a qualidade e a confiabilidade de suas aplicações.

Atualize-se com as Últimas Tendências

Com a constante evolução do JavaScript, é crucial manter-se atualizado. Nossos cursos cobrem as últimas atualizações da linguagem, incluindo ES6 e além, para que você esteja sempre à frente no mercado de trabalho.

Flexibilidade e Conveniência

Os cursos online gratuitos de JavaScript oferecem flexibilidade para aprender no seu próprio ritmo, em qualquer lugar e a qualquer hora. Comece hoje mesmo a construir sua carreira como desenvolvedor JavaScript com nossos recursos educacionais de alta qualidade.

Conclusão

Independente do seu nível de experiência, nossa lista de cursos online gratuitos de JavaScript foi cuidadosamente elaborada para ajudá-lo a alcançar seus objetivos de carreira. Acesse agora e comece a transformar seu futuro com as habilidades que você adquirirá nessas aulas!

This free course includes:

8 hours and 38 minutes of online video course

Exercises to train your knowledge

Certificate of course completion

100% free, from content to certificate

QR Code - Baixar Cursa - Cursos Online

This online course can only be accessed through the Cursa App. Download it using the QR code or the links below:

This online course can only be accessed through the Cursa app. Install it using the links below:

  • Study for free!

    Here you never pay! Not even for the certificate, because everything in the app is 100% free!

  • Improve your resume!

    There are more than 4,000 free courses for you to study anything that interests you!

  • Free Digital Certificate!

    Complete the course and issue your internationally recognized Digital Certificate free of charge.

More free courses at Programming Languages ( Python, Ruby, Java, C )

Download the App now to have access to + 3300 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online video courses, audio or text courses.

  • More than 48 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text