Thursday, February 17, 2011

Java da Compilyator


     Javada kompilyator aytib o'tganimizdek biz yozgan kodni bayt-kodga o'giradi,odatda kompilatsiyadan o'tgan klasslar *.class qisqartirmasi  bilan tugaydi.Va kompilatsiyadan o'tgan klassni Java Virtual Machine(JVM) ga yuklanadi va bayt-kodli fayllarni interpretatsiya qiladi, ya'ni mashina tiliga o'giradi va shu bilan birga undagi kodni imkoni boricha optimallashtiradi.

      Quyida ba'zi kompilyatorlar keltirilgan:
  • javac - Java Development Kit (JDK) tarkibidagi Sun Microsystem tomonodan ishlab chiqilgan, 2006 -yildan beri Ochiq kodli (Open Source) .
  • GCJ - gcc kompilyatoringing  bo'lagi bo'lib ,Java dan tashqari C,Pascal, Fortan va boshqa tillar uchun ham kompilyator sifatida ishlatiladi.
  • ECJ - Eclipse ning java kompilyatori, IBM VisualAge kompilyatoriga asoslangan ochiq kodli kompilyator. Davomini o'qish
    Biz yuqoridagilardan JDK tarkibidagi  javac kompilyatoridan foydalanamiz.JDK o'zi nima?
JDK- bu javada ishlovchi  dasturchi uchun kerak bo'ladigan bo'ladigan turli xil   yordamchi dastur umumiy majmuasi. Ularga javac dan tashqari quyidagilarni misol qilish mumkin:
  1. jar - arxivlovchi bo'lib, javadagi *.jar kutubxonalarini boshqarishda va yozilgan kodlarni *.jar arxivi ko'rinishiga keltiruvchi yordamchi dastur. 
  2. javadoc -  javada yozilgan kodlarga dokumentatsiya va kommentariyalar xosil qiluvchi  yordamchi dastur.
  3. jdb-debugger(yozilgan kodni qadamma-qadam tekshirib borish va shu kabi tekshirishlar uchun qulay  yordamchi dastur)
  4. jstat - JVM ning statistikasini ko'rsativchi yordamchi dastur.
     Bulardan tashqari JDKda yana ko'pgina yordamchi dasturlari bor, masalan apt, javaws, javah, javap, jps, policytool, wsimport, jstatd, jinfo va boshqalar. 
     JDK ni so'nggi versiyasini uchbu link orqali yuklab olishingiz mumkin. Uni o'rnatgandan keyin Notepad++ orqali Javadagi birinchi dasturni yozamiz.Daslab Notepad++ orqali yozamiz. Notepad++ ni o'rnatgandan keyin yangi fayl oching unga quyidagi kabi kodini yozing(Ko'chirib qo'ymasdan o'zingiz yozishingiz foydaliroq agarda ko'p xato qilsangiz ham.)

public class SalomDunyo{

public static void main (String[] args) {
System.out.println("Salom, dunyo!");
}

}
  Xar bir yangi klass yaratganingizda Uni katta harflar bilan yozing, xuddi SalomDunyo.java kabi.
Yozilgan faylni saqlang. Endi, Windows+R  ni bosing va unga CMD  deb yozib ENTER ni bosing, Command Prompt (Kommandnaya stroka) ochiladi u yerga SalomDunyo.java  klassi saqlangan manzilni kiritish kerak. Buning uchun CD buyrug'idan foydlanamiz.Mening komyuterimda SalomDunyo.java ning manzili quyidagicha:
        C:\Users\devPro404\Documents\java\SalomDunyo.java


Kommandalar qatori oynasida quyidagicha ko'rinish oladi.

Endi navbatdagi qatorda faylimizni kompilyatsiyadan o'tkizishni boshlaymiz va u:

ENTER ni bosamiz va mening kompyuterimda quyidagicha natija chiqdi:
" 'javac' is not recognized as an internal or external command, operable program or batch file. "
 Bu degani biz hali javac ni va JDK ning boshqa yordamchi dasturlarini kommandalar sifatida tanitganimiz yo'q buning uchun quyidagi ishni ushbu oynaning o'zidan amalga oshiramiz:

  1. Kompyuteringizga o'rnatilgan jdk ning manizlini toping, va mening kompyuterimda manzil quyidagicha: C:\Program Files (x86)\Java\jdk1.6.0_16\bin  sizning kompyuteringizda ham deyarli shunga o'xshash bo'ladi siznikida jdk1.6.xyz\bin bo'lishi mumkin. 
  2.  So'ng kommandalar oynasiga quyidagi kommandani kiriting:                                                                 SET PATH=%PATH%;C:\Program Files (x86)\Java\jdk1.6.0_16\bin va ENTER ni bosing va to'gri amalga oshganini tekshirish uchun quyidagini kiriting:
    Endi javac orqali SalomDunyo.java ni kompilasiyadan o'tkizzak ham bo'ladi.       

Java klassimiz kompilatsiyadan o'tdi va bizning SalomDunyo.java faylimiz turgan joyda xuddi shu faylning *.class deb nomlanuvchi bayt-kodligi paydo bo'ldi.
Natijani ko'rish uchun:
Bu ishlar biz kompilyator qanday ishlayotganini tushinish uchun kerak edi, keyingi darslarda bu ketma-ketliklarni takrorlamay qisqagina kompilatsiyadan o'tkazish deb nomlaymiz.


    No comments:

    Post a Comment