

Incerto da dove
iniziare?
Track
Certificato
Fondamenti di Java
4.5+
★★★★★
★★★★★
11 recensioni
Beginner
Intraprendi un viaggio completo nel mondo della programmazione Java. Che tu stia appena iniziando o abbia già un po' di esperienza di programmazione, questo percorso ti fornirà le conoscenze e le competenze per eccellere come sviluppatore Java. Mostra di più
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 skillsPersonalized 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 / Java Basics
Discover the unique features of Java and understand why it's a recommended programming language to learn. Write your first Java code and explore how to print text to the console.
Learn the basics of programming, dive into primitive data types, and explore operations with them. Write code that performs mathematical tasks and evaluates conditions for seamless execution.
Explore various loops such as for, while, and do-while, which are essential in any programming language. Loops enable efficient iteration over large datasets, saving significant time. Apply them extensively in tasks like sorting, working with arrays, collections, and more.
Learn how to effectively use arrays in Java programming by discovering how to group data into arrays and exploring common methods and properties for working with them. Techniques for manipulating and optimizing arrays in real-world applications will also be examined.
Learn about String, a crucial data type in Java, and discover its many built-in methods and operations. Explore String and StringBuilder, understanding their basic methods and how to use strings effectively in Java.
Module 2 / Java Avanzato
Nel corso delle lezioni seguenti, verranno approfonditi i meccanismi interni di Java e saranno illustrate metodologie ottimizzate per lavorare con il linguaggio. Questo comporterà l'esplorazione delle operazioni di Java a livello di computer e l'adozione delle migliori pratiche per utilizzare in modo efficiente i concetti già noti.
Hai già incontrato i metodi e ora capirai finalmente cosa sono effettivamente, come creare i tuoi metodi e come lavorarci. Imparerai a restituire i valori desiderati dai metodi e a migliorare significativamente la qualità e la logica del tuo codice.
Preparati a immergerti nel mondo di String e a scoprire di più sul suo funzionamento interno e sui suoi metodi. Esploreremo le caratteristiche interessanti offerte da String, inclusa la possibilità di personalizzare il metodo "toString", suddividere le stringhe in sottostringhe e utilizzare gli indici per un recupero efficiente dei dati. Iniziamo questo entusiasmante percorso per ampliare la nostra conoscenza della manipolazione delle stringhe!
In questa sezione, imparerai come creare le tue classi e i relativi oggetti. Sarai in grado di utilizzare i metodi di una classe all'interno di un'altra e di stabilire relazioni tra di esse. Preparati a scoprire molti concetti interessanti e ad approfondire la programmazione OOP!
In questa sezione, continueremo il nostro studio delle classi. Esploreremo un utilizzo più avanzato degli oggetti di classe e approfondiremo i modificatori di accesso e il loro utilizzo efficace. Analizzeremo inoltre getter e setter, considerati best practice nella programmazione.
Finalmente, possiamo iniziare a studiare la programmazione orientata agli oggetti (OOP) in Java. Sarà impegnativo, ma sono certo che avrai successo! In questa sezione, tratteremo tutti i principi della OOP e spiegheremo perché la OOP è importante. Imparerai come ereditare le classi, sovraccaricare e sovrascrivere i metodi, incapsulare i dati rispetto ad altre classi e lavorare con l'astrazione. Inoltre, rafforzerai tutti questi concetti teorici con esercizi pratici, lavorando su compiti nel tuo IDE. Acquisirai una vasta conoscenza, sia pratica che teorica, quindi iniziamo!
Nella sezione precedente, abbiamo concluso che tutta la Programmazione Orientata agli Oggetti si basa principalmente sull'astrazione. Tuttavia, una classe astratta presenta una limitazione significativa: è possibile ereditare solo da una classe astratta. Ma cosa succede se abbiamo bisogno di più?
Le interfacce vengono in aiuto. In questa sezione, scoprirai cos'è un'interfaccia, perché è necessaria, come utilizzarla correttamente e continuerai a esercitarti con la Programmazione Orientata agli Oggetti.
Module 4 / Strutture Dati in Java
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.
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
Questa sezione approfondirà i concetti fondamentali del multithreading in Java, concentrandosi sulla creazione e gestione dei thread e sull'uso di tecniche di sincronizzazione per evitare conflitti. Verrà inoltre illustrato come utilizzare parole chiave e metodi essenziali per garantire l'esecuzione accurata e affidabile dei programmi multithread, fornendo una solida comprensione di come gestire efficacemente la concorrenza nelle applicazioni.
Questa sezione esamina le collezioni sincronizzate in Java, spiegando il loro scopo e le comuni problematiche di concorrenza che sono progettate per risolvere. Verranno approfonditi il funzionamento di queste collezioni, la loro importanza negli ambienti multithread e il modo in cui contribuiscono a garantire una manipolazione sicura e coerente dei dati quando più thread accedono a risorse condivise.
Questa sezione tratta i meccanismi di sincronizzazione di alto livello in Java, come l'utilizzo di Lock e Condition, semafori, barriere, variabili atomiche e thread pooling con Executors. Ogni argomento è accompagnato da esercizi pratici progettati per rafforzare la comprensione e aiutare ad applicare le conoscenze teoriche a scenari reali.
Questa sezione esplora i principali pattern e pratiche di programmazione multithread come Producer-Consumer, Fork/Join, ThreadLocal e la programmazione asincrona con CompletableFuture. Verranno analizzati esempi pratici e i risultati concreti di questi approcci, offrendo un'esperienza diretta che consentirà di applicare efficacemente queste tecniche in applicazioni reali.
Module 7 / Stream API
Scopri come lo Stream API rivoluziona l'elaborazione dei dati in Java grazie al suo approccio espressivo e funzionale. Esplora l'architettura, i principi e le principali funzionalità per scrivere codice conciso ed efficiente.
Scopri le diverse operazioni intermedie disponibili nello Stream API che consentono di manipolare e processare i dati in stile funzionale. Queste operazioni, come il filtraggio, la trasformazione e l'ordinamento, permettono di lavorare in modo efficiente con le collezioni ed eseguire attività come la rimozione dei duplicati, la limitazione dei risultati o la gestione di strutture annidate. Ogni operazione può essere combinata per creare pipeline di dati potenti, rendendo il codice più conciso e leggibile.
Scopri le diverse operazioni terminali disponibili nello Stream API che consentono di elaborare e recuperare dati in modo efficiente. Queste operazioni, come il collezionamento, la riduzione e il conteggio, permettono di aggregare risultati, trovare elementi specifici o eseguire effetti collaterali come la stampa o la scrittura su un file. Comprendere queste operazioni aiuta a gestire in modo efficiente le attività di elaborazione dei dati mantenendo il codice conciso ed espressivo.
Scopri come applicare lo Stream API in scenari reali, migliorando la leggibilità e l'efficienza del codice. Impara a rifattorizzare il codice esistente, analizzare i compromessi sulle prestazioni e gestire correttamente le eccezioni. Aiuterà a scrivere codice Java più pulito e manutenibile utilizzando lo 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
La cosa principale è imparare e non arrendersi
Il materiale è buono, c'è tanto da imparare, tutto per migliorarsi, e la cosa principale è imparare ciò che desideri....
Matteo Comune
Grazie a loro sto imparando molto…
Grazie a loro sto imparando molto più rapidamente perché ti aiutano a comprendere tutto da zero. È il miglior sito web per chi non ha background in IT...
Yuliana Cadavid
ottimo corso per principianti
ottimo corso per principianti, mettono alla prova le tue conoscenze in ogni lezione...
Elpunzon
Sto apprezzando la mia esperienza su Codefinity…
Sto apprezzando la mia esperienza di apprendimento di Python con Codefinity. Il metodo di studio autodidatta è fantastico perché posso adattarlo al mio orario...
Alexandru Alexandru
È piacevole imparare da Codefinity
È piacevole imparare da Codefinity. È facile e offre buoni esempi di quanto appreso qui...
jacob Templet
Easy to follow along with and provides…
Facile da seguire e offre una sfida nella mia vita quotidiana. La sfida mi motiva a imparare giorno dopo giorno...
Elan
Codefinity è uno strumento di apprendimento completo…
Codefinity è uno strumento di apprendimento completo che ti aiuta a sviluppare le tue competenze come ingegnere del software o data scientist. Gli esercizi sono divertenti e un ottimo modo per affinare le tue abilità...
Thibault
Prima volta che impari a programmare
La prima volta che ho imparato a programmare e ci sono riuscito con Codefinity - Grazie...
Adrien Morel
Ben progettato per principianti assoluti
Ben progettato per principianti assoluti, con un progresso incrementale che mi dà fiducia....
_Gracy
è semplicemente perfettamente spiegato
È semplicemente perfettamente spiegato! Finora non ho incontrato alcuna difficoltà perché tutto è così ben organizzato....
Ruslan Kravchuk
La cosa principale è imparare e non arrendersi
Il materiale è buono, c'è tanto da imparare, tutto per migliorarsi, e la cosa principale è imparare ciò che desideri....
Matteo Comune
Grazie a loro sto imparando molto…
Grazie a loro sto imparando molto più rapidamente perché ti aiutano a comprendere tutto da zero. È il miglior sito web per chi non ha background in IT...
Yuliana Cadavid
ottimo corso per principianti
ottimo corso per principianti, mettono alla prova le tue conoscenze in ogni lezione...
Elpunzon
Sto apprezzando la mia esperienza su Codefinity…
Sto apprezzando la mia esperienza di apprendimento di Python con Codefinity. Il metodo di studio autodidatta è fantastico perché posso adattarlo al mio orario...
Alexandru Alexandru
È piacevole imparare da Codefinity
È piacevole imparare da Codefinity. È facile e offre buoni esempi di quanto appreso qui...
jacob Templet
Easy to follow along with and provides…
Facile da seguire e offre una sfida nella mia vita quotidiana. La sfida mi motiva a imparare giorno dopo giorno...
Elan
Codefinity è uno strumento di apprendimento completo…
Codefinity è uno strumento di apprendimento completo che ti aiuta a sviluppare le tue competenze come ingegnere del software o data scientist. Gli esercizi sono divertenti e un ottimo modo per affinare le tue abilità...
Thibault
Prima volta che impari a programmare
La prima volta che ho imparato a programmare e ci sono riuscito con Codefinity - Grazie...
Adrien Morel
Ben progettato per principianti assoluti
Ben progettato per principianti assoluti, con un progresso incrementale che mi dà fiducia....
_Gracy
è semplicemente perfettamente spiegato
È semplicemente perfettamente spiegato! Finora non ho incontrato alcuna difficoltà perché tutto è così ben organizzato....
Data Engineer
Certificato di Completamento
Mostra le abilità che hai acquisite recentemente. Te lo sei guadagnato
Discover more
Learning tracks
Solo per Ultimate
1 Corso
1 Progetto
0 Task
Solo per Ultimate
7 Corsi
345 Compiti
Solo per Ultimate
4 Corsi
98 Compiti
Solo per Ultimate
5 Corsi
146 Compiti
Solo per Ultimate
4 Corsi
115 Compiti
Solo per Ultimate
6 Corsi
117 Compiti
Solo per Ultimate
6 Corsi
196 Compiti
Solo per Ultimate
8 Corsi
259 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
57 Compiti
Solo per Ultimate
4 Corsi
142 Compiti
Solo per Ultimate
5 Corsi
178 Compiti
Solo per Ultimate
5 Corsi
165 Compiti
Solo per Ultimate
6 Corsi
308 Compiti
Solo per Ultimate
6 Corsi
252 Compiti
Solo per Ultimate
8 Corsi
2 Progetti
185 Compiti
Solo per Ultimate
5 Corsi
184 Compiti
Solo per Ultimate
7 Corsi
292 Compiti
Solo per Ultimate
1 Progetto
0 Task
Solo per Ultimate
2 Corsi
21 Compiti
Solo per Ultimate
5 Corsi
139 Compiti
Solo per Ultimate
2 Corsi
0 Task
Solo per Ultimate
4 Corsi
81 Compiti
Solo per Ultimate
13 Corsi
556 Compiti
Solo per Ultimate
13 Corsi
556 Compiti
Solo per Ultimate
1 Corso
0 Task
Solo per Ultimate
0 Task
Solo per Ultimate
6 Corsi
180 Compiti
Solo per Ultimate
4 Corsi
85 Compiti
Solo per Ultimate
7 Corsi
280 Compiti
Solo per Ultimate
5 Corsi
237 Compiti
Solo per Ultimate
4 Corsi
123 Compiti
Solo per Ultimate
4 Corsi
161 Compiti
Solo per Ultimate
1 Corso
20 Compiti
Solo per Ultimate
3 Corsi
75 Compiti
Solo per Ultimate
3 Corsi
41 Compiti
Solo per Ultimate
3 Corsi
180 Compiti
Solo per Ultimate
3 Corsi
63 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
42 Compiti
Solo per Ultimate
3 Corsi
41 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
42 Compiti
Solo per Ultimate
5 Corsi
135 Compiti
Solo per Ultimate
6 Corsi
293 Compiti
Solo per Ultimate
5 Corsi
206 Compiti
Solo per Ultimate
3 Corsi
2 Progetti
60 Compiti
Learning tracks
traccia
TEST TRACK 12
Principiante
4.0
(15389)
traccia
Sviluppo Web Full Stack
Principiante
4.5
(70)
traccia
Diventa uno Sviluppatore React
Intermedio
4.8
(8)
traccia
Padroneggiare la Visualizzazione dei Dati
Intermedio
4.4
(9)
traccia
SQL da Zero a Eroe
Principiante
4.7
(102)
traccia
Fondamenti di C++
Principiante
3.9
(31)
traccia
Python da Zero a Eroe
Principiante
4.6
(328)
traccia
Padronanza del Machine Learning
Intermedio
4.7
(9)
traccia
Python Oltre l'Intermedio
Principiante
5.0
(2)
traccia
Sviluppo di Giochi con Unity
Principiante
4.4
(8)
traccia
Become a Django Developer
Avanzato
4.5
(33)
traccia
Flask for Dummies
Intermedio
4.5
(37)
traccia
Fondamenti Dello Sviluppo Frontend
Principiante
4.6
(59)
traccia
Web Developer from Zero to Hero
Principiante
4.5
(68)
traccia
Preparation for Data Science
Intermedio
4.1
(21)
traccia
Odissea del Deep Learning
Avanzato
5.0
(3)
traccia
Sviluppo Web con C#
Principiante
4.6
(109)
traccia
TEST E2E TRACK BEGINNER
Principiante
traccia
Test Track
4.7
(3)
traccia
Skilled Python BackEnd Developer
Avanzato
4.6
(301)
traccia
Test Recalculate
Principiante
1.0
(1)
traccia
Fondamenti di Excel
Principiante
4.4
(42)
traccia
Full-Stack .NET Developer Journey
Intermedio
4.6
(141)
traccia
Full-Stack .NET Developer Journey
Intermedio
4.6
(141)
traccia
Test track with rating
Avanzato
3.5
(8)
traccia
TEST TEST TRACK
Principiante
traccia
Fondamenti di Analista Dati
Principiante
4.7
(124)
traccia
Padronanza di C++
Avanzato
traccia
Java Web
Avanzato
4.5
(37)
traccia
Diventa un Ingegnere QA
Principiante
4.5
(50)
traccia
Produzione Video con Adobe
Principiante
traccia
Strumenti di Design UI/UX
Principiante
traccia
Test image upload track
Principiante
traccia
Competenze Essenziali per l'Ufficio
Principiante
4.5
(31)
traccia
GitHub from Zero to Hero
Principiante
4.5
(2)
traccia
Sviluppo di Siti Web Senza Codice
Principiante
traccia
C Programming & Low-Level Development
Principiante
traccia
testes
Principiante
4.5
(4)
traccia
Test translation track
Intermedio
4.0
(2)
traccia
Test CMS Track
Principiante
4.5
(4)
traccia
Python for Data Analysis
Intermedio
4.0
(13)
traccia
Digital Marketing Essentials
Principiante
traccia
Complete Social Media Management
Principiante
traccia
Business AI Toolkit
Principiante
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 skillsPersonalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams