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. 

Sunday, February 13, 2011

Java texnologiyasining mohiyati va turlari.


    Java texnologyasi o'ta sodda, xavfsizlikni yuqori darajada ta'minlab bera oladigan, kuchli, to'la obyektga yo'naltirilgan dasturlash tili bo'lib, muhit (platforma)ga bo'liq bo'lmagan holda ishlaydi.U bilan xatto eng kichik qurilmalarga xam dasturlar yozish mumkin.Java texnologiyasi to'laligicha  Java Virtual Machine(JVM) ga asoslangan. JVM ning vazifasi  tarjimonlik ya'ni, dastlab biz yozgan  *.java fayl compilyator yordamida bayt kodga o'giriladi va JVM yordamida esa mashina tiliga o'giradi.

    Java texnologiyalari:
  •  Java SE - Java SE yoki Java Standart Edition, serverda, shaxsiy kompyuterda desktoplarda ishlovchi dasturlar, appletlar yaratish uchun ishlatiladi.Bu texnologiya yordamida yaratilgan dasturlar deyarli barcha Operatsion tizimlarda ishlay oladi(Windows NT, Macintosh,Linux va Solaris).Shu bilan birga JavaSE boshqa Java turlarining asosi hisoblanadi.
  • Java EE - Java Enterprise Edition, Java texnologiyalari orasida eng keng tarqalgan turi xisoblanib unda asosan serverda ishlovchi dasturlar yaratiladi, masalan ko'p foydalanuvchili web-saytlar yaratishda keng qo'llaniladi va asosan internetda ishlovchi dasturlarda qo'llaniladi.Java SE ni Java EE dan eng asosiy farqi Java EE o'z tarkibiga  Java SE ni olibgina qolmay shu bilan birga ko'pgina boshqa qo'shimcha kutubxonalarni(odatda *.jar) ham o'z ichiga oladi ya'ni:Servlet,JavaMail, JSF(Java Server Face) va boshqa ko'pgina internetga asoslangan qoshimcha kutubxonalar.
  • Java ME - Java ME yoki Java Micro Edition  Java SE  ning ba'zi qismlarini o'z ichiga oladi, JavaME yordamida kichik qurilmalar uchun dastrular yozish mumkin, masalan, mobil telefon uchun o'yinlar, dasturlar yaratish mumkin.
   Xulosa qilib aytganda Java ni o'rganish darajasi bo'yicha 3 ga bo'lishimiz mumkin:
  1. Java yadrosi(Core Java)
  2. Rivojlangan Java(Advanced Java)
  3. Java Enterprise Edition
Bundan kelib chiqib,Core Java va Advanced Java bu JavaSE ga tegishli bo'lgan bilimlar deydigan bo'lsak ,bu ikkovini o'rganmay JavaEE ga o'tish to'gri kelmaydi.Shuning uchun dastlab Core Java ni o'rganish kerak.

Java dasturlash tilining paydo bo'lishi

Java dasturlash tili - eng yaxshi dasturlash tillaridan biri bo'lib unda korporativ darajadagi mahsulotlarni(dasturlarni) yaratish mumkin.Bu dasturlash tili Oak dasturlash tili asosida paydo bo'ldi. Oak dasturlash tili 90-yillarning boshida Sun Microsystems tomonidan platformaga(Operatsion tizimga) bog'liq bo'lmagan holda ishlovchi yangi avlod aqlli qurilmalarini yaratishni maqsad qilib harakat boshlagan edi. Bunga erishish uchun Sun hodimlari C++ ni ishlatishni rejalashtirdilar, lekin ba'zi sabablarga ko'ra bu fikridan voz kechishdi.Oak muvofaqiyatsiz chiqdi va 1995-yilda Sun uning  nomini Java ga almashtirdi, va uni WWW rivojlanishiga hizmat qilishi uchun ma'lum o'zgarishlar qilishdi. 
     Java Obyektga Yo'naltirilgan Dasturlash(OOP-object oriented programming) tili va u C++ ga ancha o'xshash.Eng ko'p yo'l qo'yildigan xatolarga sabab bo'luvchi qismalari olib tashlanib, Java dasturlash tili ancha soddalashtirildi.
    Java kod yozilgan fayllar(*.java  bilan nihoyalanuvchi) kompilatsiydan keyin bayt kod(bytecode) ga o'tadi va bu bayt kod interpretator tomonidan o'qib yurgizdiriladi.