Introduksion ne java

Java 1

Ne kete teme do te trajtohet nje teme jo dhe aq introduktive ne java programming.
Po sqarojm shkurtimisht se si funksionon kjo gjuhe, kompilimin, java virtual machine etj.
Atehere, java eshte nje revolucion i vertet ne gjuhet e programimit si per karakterin e saj “object oriented” pra programimin e orjentuar ndaj objekteve por ne pergjithesi veçantia e java eshte se solli portabilitetin ne programim.
Siç e dime, ne pergjithesi kemi 2 ndarje ose 2 kategori gjuhesh programimi..
“Gjuhet e kompiluara” – (gjuhe qe kodi i tyre kompilohet “perkthehet” ne kodin e makines dhe egzekutohet nga proçesori)
“Gjuhe te interpretuara” – (gjuhe qe nuk kane kompilues por interpretues i cili interpreton sintaksen dhe jep nje output te deshiruar)

Ne rastin e gjuheve te kompiluara ndodh ky proçes.
Psh ne shkruajm kete kod

if (columnNumber > 60) {
    wrapToNextLine();
}
else {
    continueSameLine();
}

Normalisht kodi me siper eshte totalisht abstrakt dhe i pakuptueshem per kompiuterin keshtu qe kompilatori e kthen ate kod ne kete

01101001 01100110 00100000 00101000 01100011 01101111 01101100 01110101 01101101 01101110 01001110 01110101 01101101 01100010 01100101 01110010 00100000 00111110 00100000 00110110 00110000 00101001 00100000 01111011 00001101 00001010 00100000 00100000 00100000 00100000 01110111 01110010 01100001 01110000 01010100 01101111 01001110 01100101 01111000 01110100 01001100 01101001 01101110 01100101 00101000 00101001 00111011 00001101 00001010 01111101 00001101 00001010 01100101 01101100 01110011 01100101 00100000 01111011 00001101 00001010 00100000 00100000 00100000 00100000 01100011 01101111 01101110 01110100 01101001 01101110 01110101 01100101 01010011 01100001 01101101 01100101 01001100 01101001 01101110 01100101 00101000 00101001 00111011 00001101 00001010 01111101 00001101 00001010

Kod i cili eshte i kuptueshem ng a kompiuteri, po a egzistojn realisht keto 00101001011 ?
Dikush mund te thote po, e hapa nje file  .class dhe pash ne te 0 dhe 1-sha.
Ne realitet kompiuteri nuk kupton as ato (ça ti besh eshte çun i trash )  ne realitet per kompiuterin nuk jane 0 dhe as 1 por impulse elektrike ku ato qe ne i quajm “1”-sh mund te perkthehen si “kalon rryme” ose “rryme me tension te lart” kurse ato qe ne i quajm “0” jane ” skalon rryme ” ose “rryme me tension te ulet”
Mbasi u qartesua edhe kjo mund te bejm disa pyetje rreth kompilatoreve.
Ok, po kompilatoret pse ndryshojn?
Pse ska vetem nje kompilator?
Pergjigja eshte sepse varet se ne ç’fare sistemi operativ jemi por me e rendesishmja eshte se kemi arkitektura te ndryshme kompiuterash dhe ne baze te arkitektures jane dhe kompiluesit apo kompilatoret.
Te flasim pak per JAVA dhe specifikat e saj.
Me siper thame se java solli portabilitetin e kodit, ç’fare eshte portabiliteti dhe ne ç’kuptim e solli?
Kur folem me siper per kompilatoret e morem vesh se nje program i kompiluar ne nje kompiuter me arkitekture MIPS xD nuk eshte i njejt me nje kod te kompiluar ne nje kompiuter me arkitekture x86_64 dhe kjo eshte me se evidente.
Keshtu qe java mendoj te thyente keto limite 😉
Dhe shpiku JVM (java virtual machine) e cila eshte “interpretuesi i javas”
Nje pyetje natyrale do te ishte, po si atehere java nuk eshte gjuhe e kompiluar?
Jo Java eshte gjuhe e kompiluar por eshte ajo pjeseza qe perfeksionoi gjendjen.
Dhe me kete lindi shprehja : “nje .class file mbetet nje .class file” ose “populli popull mbetet :p” :)
Kur ne shkruajm nje program ne java, krijojm nje file .java
Shembull, po shkruajm hello worldin e famshem ne menyren time.

public class Yeah { /*kjo eshte klass publike dhe emertohet me Yeah (ta dish: emri i klases percakton edhe emrin e failit)
dhe ne kete rast do te formohet nje fail Yeah.java dhe Yeah.class*/
  public static void main ( String args []) //tipike ne java :p kujdes, main eshte metod
  {
	  System.out.print ("Yeah, po programoj ne java"); //Metod per printimin e tekstit ne ekran
  }
}

Ok, ja ku e shkruajtem edhe kodin tone, po me?
Tani do krijohet nje file.java dhe nje tjeter qe do te jet kod binar i quajtur Yeah.class
Kur ndodh proçesi i kompilimit dhe kur ai i interpretimit?

Proçesi i kompilimit apo i “perkthimit te kodit” ndodh kur kody yn java i shkruajtur bukur bukur dhe i kuptueshem nga ne merr pamje makaber :p (pra kodi qe gjendet ne nje class file eshte binar [010010001…])
Dhe ne kete rast shkronjat u perkthyen dhe u kthyen ne impulse elektrike (jemi akoma ne leter)
Proçesi i interpretimit ndodh atehere kur JVM e merr kete kod .class dhe e interpreton ate per ne baze te arkitektures se kompiuterit tone dhe sistemit operativ.

Per ta verifikuar kete mund te merrni nje .class fille te kompiluar ne nje ambjent operativ linux dhe ta çoni ne nje ambjent windows dhe te shikoni a do te punoj :)
Pergjigja eshte PO dhe kjo ne fale te JVM

2 thoughts on “Introduksion ne java

  1. Me pelqeu kjo qe keni shkruar, mirepo desha te ndalem pak tek sistemi i numrave binar 0 dhe 1. Kam vetem nje pyetje: Sa duhet te jete vlera e tensionit ne volt (V) kur kompjuteri pranon sinjalin 1 e sa eshte per 0.
    Pershendetje.

  2. Pyetje shume me vend,
    dhe nuk mund ti jepet pergjigje me pak rreshta, do bej nje teme te re vetem per bit, sepse per ta shpjeguar siç duhet duhet te flasim edhe per clock, per frekuenca proçesori, per fetch store etj..
    Me pelqen shume si pyetje pasi nuk eshte diçka qe mesohet ne universitet..
    Komplimente driton qe te vajti mendja.

Leave a Reply

Your email address will not be published. Required fields are marked *