

Incerto da dove
iniziare?
Track
Certificato
Fondamenti di Java
4.4+
★★★★★
★★★★★
14 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 / Basi di Java
Scopri le caratteristiche uniche di Java e comprendi perché è un linguaggio di programmazione consigliato da apprendere. Scrivi il tuo primo codice Java ed esplora come stampare testo sulla console.
Apprendere le basi della programmazione, approfondire i tipi di dati primitivi ed esplorare le operazioni con essi. Scrivere codice che esegue compiti matematici e valuta condizioni per un'esecuzione senza interruzioni.
Esplora diversi tipi di cicli come for, while e do-while, fondamentali in qualsiasi linguaggio di programmazione. I cicli consentono un'iterazione efficiente su grandi insiemi di dati, risparmiando tempo prezioso. Applicali ampiamente in attività come l'ordinamento, la gestione di array, collezioni e altro ancora.
Scopri come utilizzare efficacemente gli array nella programmazione Java imparando a raggruppare i dati in array ed esplorando i metodi e le proprietà comuni per lavorare con essi. Verranno inoltre esaminate tecniche per manipolare e ottimizzare gli array in applicazioni reali.
Scopri la stringa, un tipo di dato fondamentale in Java, e le sue numerose funzioni e operazioni integrate. Esplora String e StringBuilder, comprendendo i loro metodi di base e come utilizzare efficacemente le stringhe 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 Java
Scopri il concetto di liste ed esplora i tipi più comunemente utilizzati in Java. Impara a creare, modificare e gestire le liste in modo efficiente. Comprendi la loro struttura interna e scopri quando utilizzare ArrayList rispetto a LinkedList in base alle prestazioni. Implementa una lista semplicemente collegata e consolida i concetti chiave attraverso esercizi pratici di programmazione.
Approfondimento su strutture dati meno comuni ma comunque di valore. Strutture dati come Set, Stack, Queue e Deque consentono una comprensione più approfondita del funzionamento di Java e delle loro diverse applicazioni nei database.
Approfondimento sul recupero dei dati basato su coppie chiave-valore, che consente la creazione di strutture simili a database. Inclusa la scoperta di concetti come hashcode e l'esplorazione di strutture dati quali HashMap e HashSet.
Apprendere l'utilizzo di enum per definire un insieme fisso di costanti ed esplorare la Stream API per elaborare, filtrare e trasformare i dati in modo efficiente.
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
356 Compiti
Solo per Ultimate
4 Corsi
98 Compiti
Solo per Ultimate
5 Corsi
146 Compiti
Solo per Ultimate
4 Corsi
113 Compiti
Solo per Ultimate
6 Corsi
123 Compiti
Solo per Ultimate
6 Corsi
215 Compiti
Solo per Ultimate
7 Corsi
182 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
62 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
319 Compiti
Solo per Ultimate
6 Corsi
263 Compiti
Solo per Ultimate
8 Corsi
2 Progetti
185 Compiti
Solo per Ultimate
6 Corsi
177 Compiti
Solo per Ultimate
7 Corsi
293 Compiti
Solo per Ultimate
1 Progetto
0 Task
Solo per Ultimate
2 Corsi
33 Compiti
Solo per Ultimate
5 Corsi
144 Compiti
Solo per Ultimate
2 Corsi
0 Task
Solo per Ultimate
4 Corsi
81 Compiti
Solo per Ultimate
13 Corsi
568 Compiti
Solo per Ultimate
13 Corsi
568 Compiti
Solo per Ultimate
1 Corso
0 Task
Solo per Ultimate
0 Task
Solo per Ultimate
6 Corsi
181 Compiti
Solo per Ultimate
4 Corsi
85 Compiti
Solo per Ultimate
7 Corsi
279 Compiti
Solo per Ultimate
5 Corsi
248 Compiti
Solo per Ultimate
4 Corsi
123 Compiti
Solo per Ultimate
4 Corsi
161 Compiti
Solo per Ultimate
1 Corso
19 Compiti
Solo per Ultimate
3 Corsi
75 Compiti
Solo per Ultimate
3 Corsi
55 Compiti
Solo per Ultimate
3 Corsi
180 Compiti
Solo per Ultimate
3 Corsi
64 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
41 Compiti
Solo per Ultimate
3 Corsi
40 Compiti
Solo per Ultimate
2 Corsi
1 Progetto
41 Compiti
Solo per Ultimate
5 Corsi
134 Compiti
Solo per Ultimate
6 Corsi
293 Compiti
Solo per Ultimate
5 Corsi
206 Compiti
Solo per Ultimate
3 Corsi
2 Progetti
72 Compiti
Solo per Ultimate
2 Corsi
23 Compiti
Solo per Ultimate
0 Task
Solo per Ultimate
1 Corso
0 Task
Learning tracks
traccia
TEST TRACK 12
Principiante
4.0
(17103)
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.6
(112)
traccia
Fondamenti di C++
Principiante
3.9
(31)
traccia
Python da Zero a Eroe
Principiante
4.6
(338)
traccia
Padronanza del Machine Learning
Intermedio
4.5
(6)
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
(113)
traccia
TEST E2E TRACK BEGINNER
Principiante
traccia
Test Track
4.7
(3)
traccia
Skilled Python BackEnd Developer
Avanzato
4.6
(309)
traccia
Test Recalculate
Principiante
1.0
(1)
traccia
Fondamenti di Excel
Principiante
4.3
(43)
traccia
Full-Stack .NET Developer Journey
Intermedio
4.6
(145)
traccia
Full-Stack .NET Developer Journey
Intermedio
4.6
(145)
traccia
Test track with rating
Avanzato
3.9
(15)
traccia
TEST TEST TRACK
Principiante
traccia
Fondamenti di Analista Dati
Principiante
4.6
(129)
traccia
Padronanza di C++
Avanzato
3.0
(1)
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.4
(32)
traccia
GitHub from Zero to Hero
Principiante
4.0
(3)
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.2
(5)
traccia
track with track courses
Principiante
traccia
Some test track
Principiante
traccia
TEST PROGRESS TRACK
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 | |
|---|---|---|
| 250+ Top-Rated courses | ||
| Completion certificates | ||
| AI-Assistant in all courses | ||
| 40+ 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