struttura cartelle
project/
src/
Main.java
inizia semplice: una cartella src e una classe principale.
package
package studio.buzatu;
public class Main {
public static void main(String[] args) {
System.out.println("hello");
}
}
il package allinea la struttura del progetto con i namespace.
classpath
compila indicando il package, poi esegui con il classpath corretto.
javac -d out src/studio/buzatu/Main.java
java -cp out studio.buzatu.Main
eseguire
- compila con
javac - esegui con
java - usa un build tool quando il progetto cresce
tip: passa a maven o gradle quando hai dipendenze esterne.
build tools
maven e gradle gestiscono dipendenze, build e test. usa una struttura standard.
mvn -v
gradle -v
mvn archetype:generate
esercizi
crea un progetto con package studio.buzatu e una classe Main che stampa una lista di tre nomi.
package studio.buzatu;
public class Main {
public static void main(String[] args) {
String[] nomi = {"samir", "studio", "buzatu"};
for (String nome : nomi) {
System.out.println(nome);
}
}
}
panoramica
In questo capitolo su struttura progetto java, classi, package, classpath e jvm in modo chiaro. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: java essentials
obiettivi
- capire e applicare struttura cartelle in uno scenario reale
- capire e applicare package in uno scenario reale
- capire e applicare classpath in uno scenario reale
- capire e applicare eseguire in uno scenario reale
scheda rapida
import java.util.List;
public class Main {
public static void main(String[] args) {
var dati = List.of(1, 2, 3);
var out = dati.stream().map(x -> x * 2).toList();
System.out.println(out);
}
}
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
tips
- organizza package per dominio
- preferisci immutabilità dove possibile
- documenta le API pubbliche
- mantieni un Main snello
- usa package coerenti
- compila con target JVM corretto
tip: Una struttura pulita riduce il costo di ogni refactor.
mini progetto
Crea un progetto con package app e domain.
- definisci la classe Main
- aggiungi ProjectInfo in domain
- stampa info
- compila ed esegui
output atteso: uno script o query ripetibile con risultati verificabili.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale