1.
Fase Editing / Building
Tahap ini merupakan tahap awal dari pembuatan program, yaitu tahap penulisan program
pada teks editor dan disimpan di disk dengan akhiran berekstensi .java. Program sumber
harus berekstensi (berakhiran) .java untuk identifikasi. Ekstensi .java mengindikasikan file
merupakan kode sumber di bahasa Java.
Editor teks apapun dapat digunakan asal menghasilkan teks ASCII/Unicode. Editor teks
di Unix/Linux adalah vi dan emace. Di Windows dapat digunakan edit (di MSDOS),
notepad, atau textpad. Kita juga dapat menggunakan teks editor di lingkungan
pengembangan terpadu (IDE) seperti NetBeans, Eclipse, JBuilder, dan sebagainya.
2. Fase Compiling
Pada fase ini program yang kta tulis tadi dikompilasi oleh Kompulator. Kompulator
menciptakan bytecode dan menyimpannya di disk di file dengan akhiran .class . Pada fase
ini pemrograman memberikan perintah berupa teks :
javac <file kode sumber>
Perintah di atas memanggil kompilator javac untuk menerjemahkan program sumber
menjadi bytecode, yaitu serangkaian instruksi yang dipahami Java Interpreter. Untuk
mengkompilasi file program bernama [Link] maka kita akan mengetikkan
perintah javac [Link] pada MSDOS atau Command Prompt pada Windows.
Jika javac mengkompilasi dengan benar maka kompilator javac tersebut menghasilkan file
bernama [Link]. File ini berisikan bytecode yang akan diinterpretasikan
selama fase eksekusi.
3. Fase Loading
Program yang dieksekusi (.class) harus lebih dahulu berada di memori sebelum dieksekusi.
Aktivitas pemuatan ke memori dilakukan class loader dengan mengambil file .class yang
berisi bytecode dan mentransfer ke memori utama. File .class dapat dimuatkan dari disk
sistem lokal atau jaringan.
4. Fase Verify
Begitu kelas di memori, bytecode diverifikasi bytecode verifier. Verifikasi ini untuk menjamin
bytecode sah dan tidak melanggar batasan keamanan Java. Java memaksakan keamanan
secara ketat agar program dari jaringan tidak merusak sistem lokal milik kita (sebagaimana
virus dapat melakukannya).
5. Execute
Pada fase ini interpreter membaca bytecode dan menerjemahkannya menjadi bahasa yang
dipahami komputer. Interpreter di bawah kendali sistem operasi menginterpretasikan satu
bytecode satu saat, dan melakukan aksi-aksi yang disfesifikasi bytecode.