Crearea, compila și rula programe Java - Manual de programare în Java

Punctul cheie: salvați codul sursă de programe Java cu extensia .java fișierul și compilați-l cu extensia de fișier .class. fișier .class care rulează în mașina virtuală Java.

Înainte ca programul poate fi executat, este necesar să se creeze și compila. Dacă în programul conține erori de compilare, aveți nevoie pentru a schimba programul pentru a le repara, și apoi recompilați. Dacă programul conține erori run-time, sau nu conduce la un rezultat corect, trebuie să schimbați programul, recompilați-l, și executați din nou. Acest proces este crearea (dezvoltare) programului.

Crearea, compila și rula programe Java - Manual de programare în Java

Avertizare. fișier sursă trebuie să aibă extensia .java și au exact același nume ca nume de clasă publică (publică). De exemplu, fișierul sursă:

Ar trebui să fie numit Welcome.java. ca numele clasei publice - Bine ai venit.

Compilatorul Java convertește fișierul sursă Java bytecode fișierul în Java. Următoarea comandă compilează Welcome.java:

În cazul în care nu există erori de sintaxă, compilatorul generează fișierul baykoda cu extensia .class. Prin urmare, comanda de mai sus generează un fișier numit Welcome.class.

Pentru a putea compila și rula programul, trebuie să instalați JDK. Acest lucru este descris în instrucțiunile:

Limbajul Java - un limbaj de programare de nivel înalt, dar bytecode Java - un limbaj de nivel scăzut. Bytecode similar cu instrucțiuni mașină, dar arhitectura este neutru (nu depinde de arhitectura) și poate fi rulat pe orice platformă care are o mașină virtuală Java - Java Virtual Machine (JVM). Spre deosebire de o mașină fizică, mașina virtuală - este un program care interpretează Java bytecode. Acesta este unul dintre principalele avantaje ale Java: Java bytecode poate rula pe platforme hardware diferite și sisteme de operare. Java codul sursă este compilat în Java bytecode și Java bytecode este interpretat de către mașina virtuală Java. Codul Java poate utiliza Java biblioteca cod. JVM execută ani cu codul sursă de bibliotecă.

Rulați programul Java - inseamna pentru a rula un program de bytecode. Puteți executa bytecode pe orice platformă cu un JVM, care este interpretul. Ea (Java Virtual Machine) traduce bytecode instrucțiuni separate pentru codul țintă limbaj mașină. Acest lucru se face în ordine - o singură instrucțiune la un moment dat, și nu întregul program într-o singură ședință. Fiecare pas este efectuată imediat, imediat după transfer.

Următoarea comandă execută bytecode pentru program, care este prezentat mai sus:

Captura de ecran de mai jos ilustrează procesul de compilare și de funcționare:

Crearea, compila și rula programe Java - Manual de programare în Java

Avertizare. Nu utilizați o extensie .class la echipă, atunci când începe programul. Utilizați ClassName pentru a rula programul. Dacă utilizați ImyaKlassa.class, sistemul va încerca să lucreze cu fișierul de pe linia de comandă ImyaKlassa.class.class.

Ajutor. atunci când un program Java, JVM începe cu clasa bytecode încărcate în memorie, folosind un program numit un încărcător de clasă (clasa încărcător). Dacă programul utilizează alte clase, încărcătorul de clasă le va încărca dinamic înainte ca acestea sunt necesare. După încărcarea clasa, JVM foloseste un program numit bytecode Controler (bytecode Verificator) pentru validarea și verificarea bytecode, bytecode care nu încalcă restricțiile de securitate Java. Java oferă o protecție puternică pentru a se asigura că fișierele de clasă Java nu sunt alterate și nu dăunează computerului.

Notă Profesor. instructorul dumneavoastră vă poate cere să utilizați pachetele pentru programele organizației. De exemplu, toate programele din această parte poate fi plasat în pachetul chapter2. Detalii privind pachetele și namespace vor fi discutate mai târziu. De asemenea, a se vedea secțiunea „De ce folosește întotdeauna pachetul NetBeans».

greșeli comune compila și rula programe Java

comanda javac nu a fost găsit

Dacă executați javac. și anume atunci când încercați să compilați un program Java, veți obține eroarea:

Acest lucru înseamnă că JDK nu este instalat. Sau instalat, dar variabilele de mediu nu sunt stabilite. Remediu evidente:

  • instalați JDK
  • configura variabilele de mediu

În cazul în care este instalat JDK, puteți face fără adăugarea unei variabile de mediu. Pentru a face acest lucru, utilizați calea absolută la javac fișier executabil:

Numele de eroare de clasă sunt acceptate numai în cazul în care prelucrarea adnotare este cerut în mod explicit

Dacă încercați să compilați programul după cum urmează:

o eroare se va produce:

Motivul erorii este - ați uitat să specificați un .java extensie de fișier.

a scrie eroare (eroare la scrierea)

Compilarea are ca rezultat o eroare:

Motivul erorii este că compilatorul (javac) nu au permisiunea de a scrie în directorul în care acesta încearcă să salveze noul fișier .class. Pentru a dispărut de eroare: compilator pentru a oferi drepturi suplimentare (Executare ca administrator), sau salvați într-un dosar la care utilizatorul curent are permisiuni de scriere.

Eroare «clasă este public, ar trebui să fie declarat într-un fișier numit»

care se termină cu privire la o eroare

Aceasta înseamnă că ați numit incorect de clasă în codul sursă al programului. Numele de clasă trebuie să se potrivească cu numele fișierului. În acest caz, fișierul este numit Welcome.java. și clasa numit în programul Welcomee

Eroare: Nu s-a putut găsi sau clasa de încărcare principală

Dacă încercați să executați programul după cum urmează:

o eroare va avea loc

cauza în faptul că nu era necesar să se adauge la numele .class extensia fișierului. Mașina virtuală va adăuga automat extensia în exemplul de mai sus, se pare un fișier Welcome.class.class

Eroare Eroare: Nu s-a putut găsi sau clasa de încărcare principală atunci când rulați programe Java folosind o cale absolută

Această eroare este posibil atunci când rulează un program Java, folosind o cale absolută:

Eroarea se produce în Windows, și sub Linux:

Dacă terminalul vă aflați în același director ca și fișierul pe care îl executați, nu aveți nevoie să specificați o cale absolută. De exemplu, aveți nevoie pentru a rula:

Crearea, compila și rula programe Java - Manual de programare în Java

Dacă vă aflați într-un alt director, trebuie să utilizați opțiunea -cp. după care indica drumul spre directorul unde executați programul este disponibil. Și apoi specificați fișierul executabil fără extensia .class.

După cum puteți vedea din captura de ecran, linia de comandă se află în folderul C: \ WINDOWS \ System32. Fișierul pe care avem nevoie pentru a rula, se află în directorul C: \ (directorul rădăcină). Noi punct după cheie dosar -cp C: \. și apoi a scrie un nume de fișier de program fără extensia - Bine ai venit.

În mod similar, trebuie să faci în Linux. Exemplu de comandă:

Eroare metodă principală nu a fost găsit în clasa

Dacă începeți să vă confruntați cu eroarea:

Acest lucru înseamnă că nu specificați o metodă principală. sau scris cuvântul incorect (de exemplu, principal în locul principal).

Caracteristici compila și rula programe Java pe Windows

Comanda „javac“ nu este o comandă internă sau externă, de program operațional sau fișier

Această eroare chiar deasupra discutat. Pentru a instala și configura variabilele de mediu în Windows, consultați „Instalarea Java (JDK) în Windows».

Problema cu codificarea în programele Java în fereastra de comandă pentru Windows

Dacă scrieți un program care afișează alfabetul chirilic în consolă:

Și, ca urmare a ieșit imposibil de citit:

Deci, codare care ia un șir de caractere, programul este diferit de linia de comandă codificarea Windows.

Există mai multe modalități de a remedia această problemă. Prin modul în care, în cazul în care pentru a rula programe Java consolă pe care o utilizați NetBeans. apoi scoate codificarea corectă în linie. În Linux, această problemă este, de asemenea, lipsește. Dacă aveți nevoie pentru a schimba codificarea pentru un timp, atunci puteți rula următoarele comenzi:

Testați-vă:

  1. Care sunt fișiere de extensie Java codul sursă, precum și orice extensie în fișierul cu bytecode Java?
  2. Acest lucru ia de intrare și de ieșire care produce compilatorul Java?
  3. Care echipă este compilat programul Java?
  4. Care echipă a rula un program Java?
  5. Ce este JVM?
  6. Java poate fi rulat pe orice mașină. Ceea ce este necesar pentru a rula Java pe computer?

articole similare