flowchart LR
A["Codi font<br/>Hola.java"] -->|"compilar<br/>javac"| B["Bytecode<br/>Hola.class"]
B -->|"executar<br/>java"| C["JVM Windows"]
B --> D["JVM macOS"]
B --> E["JVM Linux"]
Apèndix A — Instal·lació de Java
A.1 Què és Java?
Java és alhora un llenguatge de programació i una plataforma d’execució. La seva idea clau va ser “escriu una vegada, executa a tot arreu” (write once, run anywhere): un mateix programa Java funciona a Windows, macOS i Linux sense recompilar-lo.
Com ho aconsegueix? El codi Java no es compila directament a instruccions de la màquina, sinó a un format intermedi anomenat bytecode. Aquest bytecode l’executa un programa especial —la màquina virtual de Java— que sí que és diferent a cada sistema operatiu.
A.2 JVM, JRE i JDK
| Sigla | Nom | Conté | Per a què |
|---|---|---|---|
| JVM | Java Virtual Machine | El motor que executa el bytecode | Fer córrer programes |
| JRE | Java Runtime Environment | JVM + biblioteques estàndard | Executar programes Java |
| JDK | Java Development Kit | JRE + compilador i eines | Desenvolupar programes |
A nivell visual:
flowchart TB
subgraph JDK["**JDK** — per DESENVOLUPAR"]
direction TB
C["Compilador (javac),<br/>eines (javadoc, jar)..."]
subgraph JRE["**JRE** — per EXECUTAR"]
direction TB
L["Biblioteques estàndard<br/>(String, List, ...)"]
subgraph JVMbox["**JVM**"]
V["Màquina virtual:<br/>executa el bytecode"]
end
end
end
classDef jdkFill fill:#DDEBF7,stroke:#2F5597,stroke-width:2px
classDef jreFill fill:#E2EFDA,stroke:#538135,stroke-width:2px
classDef jvmFill fill:#FFF2CC,stroke:#BF8F00,stroke-width:2px
classDef jdkNode fill:#9DC3E6,stroke:#2F5597,stroke-width:2px
classDef jreNode fill:#A9D18E,stroke:#538135,stroke-width:2px
classDef jvmNode fill:#FFD966,stroke:#BF8F00,stroke-width:2px
class JDK jdkFill
class JRE jreFill
class JVMbox jvmFill
class C jdkNode
class L jreNode
class V jvmNode
Per programar (no només a executar), necessites el JDK. El JDK ja inclou tot el que porten la JRE i la JVM.
A.3 Versió: JDK 25 (LTS)
Es recomana treballar amb versions LTS (Long-Term Support, suport a llarg termini). La darrera versió LTS és la JDK 25 i és la que farem servir per la seva estabilitat i perquè incorpora totes les novetats del llenguatge. Tot i que pels continguts del curs, també es podrien utilitzar versions anteriors com la JDK 21.
Hi ha diverses distribucions del JDK. La recomanació és utilitzar Eclipse Temurin (del projecte Adoptium): és gratuïta, oberta, sense complicacions de llicència i disponible per als tres sistemes operatius.
A.4 Instal·lació pas a pas
Windows
- Ves a adoptium.net i baixa el JDK 25 (LTS) per a Windows x64, format
.msi. - Executa l’instal·lador. Al pas d’opcions, activa “Set JAVA_HOME variable” i “Add to PATH” si apareixen: t’estalviaran la configuració manual.
- Segueix fins al final.
macOS
Amb Homebrew és el més còmode:
brew install --cask temurin@25Si no fas servir Homebrew, baixa el .pkg des d’adoptium.net i executa’l.
Linux
En distribucions basades en Debian/Ubuntu:
sudo apt update
sudo apt install temurin-25-jdkMolts gestors de paquets també ofereixen openjdk-25-jdk, que serveix igual:
sudo apt install openjdk-25-jdkA.5 Variables d’entorn: JAVA_HOME i PATH
Perquè el sistema trobi les eines de Java des de qualsevol carpeta, ens interessen dues variables:
JAVA_HOME: apunta a la carpeta on s’ha instal·lat el JDK.PATH: llista de carpetes on el sistema busca programes. Hi hem d’afegir la carpetabindel JDK perquèjavaijavacfuncionin des de la terminal.
Windows
Si l’instal·lador no ho va fer, configura-les a mà:
- Menú Inici → cerca “Edita les variables d’entorn del sistema”.
- Botó Variables d’entorn.
- Nova variable de sistema:
JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-25... - Edita
Pathi afegeix una entrada nova:%JAVA_HOME%\bin. - Accepta i obre una terminal nova (els canvis no afecten terminals ja obertes).
macOS / Linux
Afegeix aquestes línies al teu fitxer de configuració de la shell (~/.zshrc a macOS, ~/.bashrc a molts Linux):
export JAVA_HOME=$(/usr/libexec/java_home -v 25) # macOS
# A Linux, per exemple:
# export JAVA_HOME=/usr/lib/jvm/temurin-25-jdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"Després recarrega la configuració:
source ~/.zshrc # o ~/.bashrcA.6 Verificar la instal·lació
Obre una terminal nova i comprova les dues eines clau:
java -version
javac -versionHauries de veure alguna cosa com:
openjdk version "21.0.x" 2024-xx-xx LTS
OpenJDK Runtime Environment Temurin-21...
I per comprovar JAVA_HOME:
# Windows (PowerShell)
echo $env:JAVA_HOME
# macOS / Linux
echo $JAVA_HOME'java' no se reconoce.../command not found: elPATHno incloubin, o no has obert una terminal nova.java -versionmostra una versió antiga (8, 11…): tens més d’un JDK instal·lat; ajustaJAVA_HOMEi posa el seubinal davant delPATH.javacno funciona peròjavasí: probablement tens només la JRE; instal·la el JDK.
A.7 Editor / IDE
Pots escriure Java amb qualsevol editor de text, però un IDE (entorn de desenvolupament integrat) t’ajuda molt: autocompletat, detecció d’errors mentre escrius, depurador, execució amb un clic. Dues bones opcions són:
IntelliJ IDEA Community
És l’IDE recomanat per a Java. L’edició Community és gratuïta i sobradament suficient per al curs.
- Baixa’l de jetbrains.com/idea (tria Community Edition).
- Instal·la’l i obre’l. En crear un projecte, detectarà automàticament el JDK 25 que has instal·lat.
Visual Studio Code
Alternativa lleugera i molt popular. Necessita extensions:
- Instal·la VS Code, Descàrrega a: https://code.visualstudio.com.
- A la pestanya d’extensions, instal·la l’Extension Pack for Java (de Microsoft), que agrupa el suport de llenguatge, el depurador i les proves.
| Criteri | IntelliJ IDEA Community | VS Code |
|---|---|---|
| Especialitzat en Java | Sí, molt | Genèric + extensions |
| Consum de recursos | Més alt | Més lleuger |
| Configuració inicial | Mínima | Cal instal·lar extensions |