O’zbekistan respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti nukus filiali telekomunikatsiya texnologiyalari va kasb ta’lim


Download 233.16 Kb.
bet2/2
Sana11.03.2023
Hajmi233.16 Kb.
#1258649
1   2
Bog'liq
Tarmoqni dasturlash asoslari

Java texnologiyalari
Java SE (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.
JVM (Java Virtual mashinasi) JVM ning vazifasi tarjimonlik ya’ni, dastlab biz yozgan *.java fayl kompilyator yordamida bayt kod ga o’giriladi va JVM yordamida esa mashina tiliga aylantiriladi. Bu degani JVM qaysi platformaga tegishli bo’lsa, kodlarni ham o’sha platformaga moslab beradi. JVM ni ko’pgina qurilmalar va dasturiy ta’minotlar uchun ishlatish mumkin. Har bir OT(operatsiyon tizim) uchun JVM JRE va JDK lar konfugratsiyasi farq qiladi, chunki bular platformaga bog’liq. Lekin java mustaqil platforma hisoblanadi.
JVM ning amalga oshiradigan asosiy vazifalari
• Loads code(kod yuklanishi)
• Verifies code(kod tekshirilishi)
• Executes code(kod bajarilishi)
• Provides runtime environment(dasturni bajarilish muhitini ta’minlash)
JRE (Java bajarilish muhiti)
JRE – Java Runtime Environment
JRE – bu faqat dastur bajarilishi uchun kerak bo`lgan muhit xolos. Dasturchi bo`lmagan oddiy foydalanuvchilarga Java dasturlari bajarilishi uchun JRE yetarlidir.
JDK(Java Development Kid) - JDK tarkibida JRE va boshqa qo'shimcha dasturlash uskunalari bo'ladi.
Java (dasturlash tili) - Java (programming language)



Java dasturlash tili




Java a sinfga asoslanganob'ektga yo'naltirilgan dasturlash tili bu juda kam miqdordagi amalga oshirishga mo'ljallangan bog'liqliklar iloji boricha. Bu umumiy maqsad ruxsat berish uchun mo'ljallangan dasturlash tili dastur ishlab chiquvchilari bir marta yozing, har qanday joyga yuguring (WORA),[17] shuni anglatadiki tuzilgan Java kodi Java-ni qo'llab-quvvatlaydigan barcha platformalarda qayta kompilyatsiya qilinmasdan ishlashi mumkin.[18] Java dasturlari odatda kompilyatsiya qilinadi bayt kodi har qandayida ishlashi mumkin Java virtual mashinasi (JVM) asosidan qat'i nazar kompyuter arxitekturasi. The sintaksis ning Java ga o'xshash C va C ++, lekin kamroq past darajali ularning ikkalasidan ham qulayliklar. Java ish vaqti odatda an'anaviy kompilyatsiya qilingan tillarda mavjud bo'lmagan dinamik qobiliyatlarni (aks ettirish va ish vaqti kodini o'zgartirish kabi) ta'minlaydi. 2019 yildan boshlab, Java eng ko'plardan biri edi ishlatilayotgan mashhur dasturlash tillari ga binoan GitHub,[19][20] ayniqsa uchun mijoz-server veb-ilovalar, xabar qilingan 9 million ishlab chiquvchi bilan.[21]
Java dastlab tomonidan ishlab chiqilgan Jeyms Gosling da Quyosh mikrosistemalari (Oracle tomonidan sotib olingan ) va 1995 yilda Sun Microsystems ning asosiy komponenti sifatida chiqarilgan Java platformasi. Asl va ma'lumotnomani amalga oshirish Java kompilyatorlar, virtual mashinalar va sinf kutubxonalari dastlab Sun tomonidan chiqarilgan mulkiy litsenziyalar. Texnik talablariga muvofiq 2007 yil may oyidan boshlab Java jamoatchilik jarayoni, Quyosh bor edi qayta litsenziyalangan ostida joylashgan Java texnologiyalarining aksariyati GNU umumiy jamoat litsenziyasi. Oracle o'zlarini taklif qiladi HotSpot Java virtual mashinasi, ammo rasmiy ma'lumotnomani amalga oshirish bo'ladi OpenJDK Bepul ochiq manbali dasturiy ta'minot va ko'pgina ishlab chiquvchilar tomonidan ishlatiladigan JVM Tutilish IDE va deyarli barcha Linux tarqatish uchun standart JVM.
Eng so'nggi versiyasi Java 15, 2020 yil sentyabr oyida chiqarilgan, hozirda qo'llab-quvvatlanadigan Java 11 bilan uzoq muddatli qo'llab-quvvatlash (LTS) versiyasi, 2018 yil 25 sentyabrda chiqarilgan; Oracle uchun chiqarilgan meros Java 8 Tijorat maqsadlarida foydalanish uchun 2019 yil yanvar oyida LTS-ning so'nggi nol narxdagi ommaviy yangilanishi, ammo aks holda u hech bo'lmaganda 2020 yil dekabrgacha shaxsiy foydalanish uchun Java 8-ni ommaviy yangilanishlar bilan qo'llab-quvvatlaydi. Boshqa sotuvchilar taklif qila boshladilar nolga teng qurilish OpenJDK 8 va 11-ning xavfsizligi va boshqa yangilanishlari davom etmoqda.
Oracle (va boshqalar) Java-ning eski versiyalarini o'chirishni tavsiya qiladi, chunki xavfsizlik muammolari hal qilinmaganligi sababli jiddiy xavf tug'diradi.[22] Java 9, 10, 12 va 13 endi qo'llab-quvvatlanmagani uchun, Oracle o'z foydalanuvchilariga zudlik bilan so'nggi versiyasiga (hozirda Java 15) yoki LTS versiyasiga o'tishni maslahat beradi.

Tarix
Shuningdek qarang: Java (dasturiy ta'minot platformasi) § Tarix



Dyuk, Java maskoti

Jeyms Gosling, Java yaratuvchisi, 2008 yilda

The TIOBE dasturlash tilining mashhurlik ko'rsatkichi 2002 yildan 2018 yilgacha grafika. Java 2015 yil o'rtalaridan beri doimiy ravishda eng yuqori pog'onada.
Jeyms Gosling, Mayk Sheridan va Patrik Naughton Java tili loyihasini 1991 yil iyun oyida boshlagan.[23] Java dastlab interaktiv televidenie uchun ishlab chiqilgan edi, ammo u o'sha paytda raqamli kabel televideniesi sanoatida juda rivojlangan edi.[24] Dastlab til chaqirilgan Eman keyin eman Goslingning idorasi oldida turgan daraxt. Keyinchalik loyiha nomi bilan ketdi Yashil va nihoyat o'zgartirildi Java, dan Java qahvasi, kofe Indoneziya.[25] Gosling Java-ni C /C ++ tizim va dastur dasturchilari tanish bo'lgan uslub sintaksisini.[26]
Sun Microsystems 1996 yilda Java 1.0 kabi birinchi ommaviy dasturni chiqardi.[27] Va'da berdi Bir marta yozing, har qanday joyda ishga tushiring (WORA) funktsionallik, ommabop ish vaqtini bepul sarflashni ta'minlaydi platformalar. Xavfsizligi va konfiguratsiya qilinadigan xavfsizligi bilan tarmoq va fayllarga kirishga cheklovlar qo'yildi. Mayor veb-brauzerlar tez orada ishlash qobiliyatini o'zida mujassam etgan Java dasturlari veb-sahifalarida va Java tezda ommalashib ketdi. Java 1.0 kompilyatori qayta yozildi Java-da tomonidan Artur van Xof Java 1.0 til xususiyatlariga qat'iy rioya qilish.[28] Java 2 paydo bo'lishi bilan (dastlab J2SE 1.2 sifatida 1998 yil 1999 yil dekabrda chiqarilgan), yangi versiyalarda har xil turdagi platformalar uchun bir nechta konfiguratsiyalar mavjud edi. J2EE odatda server muhitida ishlaydigan korporativ dasturlar uchun texnologiyalar va API-larni o'z ichiga oladi, J2ME esa mobil ilovalar uchun optimallashtirilgan API-larga ega. Ish stoli versiyasi J2SE deb o'zgartirildi. 2006 yilda marketing maqsadida Sun yangi J2 versiyalarini shunday o'zgartirdi Java EEJava ME va Java SE navbati bilan.
1997 yilda Sun Microsystems yaqinlashdi ISO / IEC JTC 1 standartlar tanasi va keyinchalik Ecma International Java-ni rasmiylashtirish uchun, ammo tez orada u jarayondan chiqib ketdi.[29][30][31] Java a qoladi amalda standart orqali boshqariladi Java jamoatchilik jarayoni.[32] Bir paytlar Sun o'zlarining aksariyat Java dasturlarini bepul bo'lishiga qaramay, ularni amalga oshirdi mulkiy dasturiy ta'minot holat. Sun, Java Enterprise System kabi ixtisoslashtirilgan mahsulotlar uchun litsenziyalarni sotish orqali Java-dan daromad oldi.
2006 yil 13-noyabrda Sun o'zining Java virtual mashinasining (JVM) katta qismini chiqardi bepul va ochiq manbali dasturiy ta'minot Shartlariga binoan (FOSS) GNU umumiy jamoat litsenziyasi (GPL). 2007 yil 8-may kuni Quyosh JVM-ning barcha asosiy kodlarini taqdim etib, jarayonni yakunladi bepul dasturiy ta'minot / Quyosh mualliflik huquqiga ega bo'lmagan kodning kichik qismidan tashqari, ochiq manbali tarqatish shartlari.[33]
Sunning vitse-prezidenti Rich Grinning ta'kidlashicha, Sunning Java bilan bog'liq ideal roli xushxabarchi.[34] Keyingi Oracle korporatsiyasi 2009–10 yillarda Sun Microsystems-ni sotib olgan Oracle o'zini ishtirok etish va shaffoflik jamoatchiligini rivojlantirish uchun tinimsiz majburiyat bilan o'zini Java texnologiyasining boshqaruvchisi deb ta'rifladi.[35] Bu Oracle-dan biroz vaqt o'tgach, Java-ning ichida Java-dan foydalanganligi uchun Google-ga qarshi da'vo qo'zg'ashiga to'sqinlik qilmadi Android SDK (qarang Android Bo'lim).
2010 yil 2 aprelda Jeyms Gosling iste'foga chiqdi Oracle.[36]
2016 yil yanvar oyida Oracle JDK 9 asosida ishlaydigan Java muhiti brauzer plaginini to'xtatishini e'lon qildi.[37]
Java dasturi noutbukdan tortib to hamma narsada ishlaydi ma'lumotlar markazlario'yin konsollari ilmiy superkompyuterlar.[38]
Printsiplar
Java tilini yaratishda beshta asosiy maqsad bor edi:[18]

  1. Bu oddiy bo'lishi kerak, ob'ektga yo'naltirilgan va tanish.

  2. Bu mustahkam va xavfsiz bo'lishi kerak.

  3. Arxitektura-neytral va ko'chma bo'lishi kerak.

  4. Bu yuqori ishlash bilan bajarilishi kerak.

  5. Bu bo'lishi kerak talqin qilingantishli va dinamik.

Versiyalar
2020 yil sentyabr oyidan boshlab, Java 8 va 11-da uzoq muddatli qo'llab-quvvatlash (LTS) versiyalari sifatida qo'llab-quvvatlanadi va LTS-ning keyingi versiyalari qo'llab-quvvatlanadi.[39] Java-ning asosiy versiyalari va chiqarilish sanalari bilan bir qatorda:

Versiya

Sana

JDK Beta-versiyasi

1995

JDK1.0

1996 yil 23-yanvar [40]

JDK 1.1

1997 yil 19 fevral

J2SE 1.2

1998 yil 8-dekabr

J2SE 1.3

2000 yil 8-may

J2SE 1.4

2002 yil 6-fevral

J2SE 5.0

2004 yil 30 sentyabr

Java SE 6

2006 yil 11-dekabr

Java SE 7

2011 yil 28-iyul

Java SE 8

2014 yil 18 mart

Java SE 9

2017 yil 21 sentyabr

Java SE 10

2018 yil 20 mart

Java SE 11

2018 yil 25 sentyabr [41]

Java SE 12

2019 yil 19 mart

Java SE 13

2019 yil 17 sentyabr

Java SE 14

2020 yil 17 mart

Java SE 15

2020 yil 15 sentyabr

Nashrlar
Shuningdek qarang: Bepul Java dasturlari § Sinflar kutubxonasi

Java platformasi nashrlar



  • Java kartasi

  • Java ME (Mikro)

  • Java SE (Standart)

  • Jakarta EE (Korxona)

  • JavaFX (to'plangan JRE 8 dan 10 gacha, lekin JavaFX 1.x, 2.x va 11 uchun alohida)

  • ShaxsiyJava (To'xtatilgan)




Quyosh turli xil dastur muhitlariga yo'naltirilgan Java-ning to'rtta nashrini aniqladi va qo'llab-quvvatladi va ko'pini segmentlarga ajratdi API-lar ular platformalardan biriga tegishli bo'lishi uchun. Platformalar:

  • Java kartasi smart-kartalar uchun.[42]

  • Java platformasi, Micro Edition (Java ME) - cheklangan resurslarga ega muhitni maqsad qilish.[43]

  • Java platformasi, Standard Edition (Java SE) - ish stantsiyasi muhitlarini yo'naltirish.[44]

  • Java platformasi, Enterprise Edition (Java EE) - yirik tarqatilgan korxona yoki Internet muhitiga yo'naltirilganlik.[45]

The sinflar Java API-larida alohida guruhlarga ajratilgan paketlar. Har bir to'plamda tegishli to'plam mavjud interfeyslar, sinflar, pastki paketlar va istisnolar.
Sun shuningdek, nashr etilgan nashrni taqdim etdi Shaxsiy Java keyinchalik standartlarga asoslangan Java ME konfiguratsiya-profil juftliklari tomonidan almashtirildi.
Ijro tizimi
Java JVM va bayt kodi
Asosiy maqolalar: Java (dasturiy ta'minot platformasi) va Java virtual mashinasi
Java-ning dizayn maqsadlaridan biri bu portativlik, ya'ni Java platformasi uchun yozilgan dasturlar har qanday apparat va operatsion tizim kombinatsiyasida shunga o'xshash ishlashi kerak, bu esa ishlash vaqtini etarli darajada qo'llab-quvvatlaydi, bu Java tili kodini oraliq vakolatxonaga kompilyatsiya qilish orqali amalga oshiriladi. Java bayt kodi, to'g'ridan-to'g'ri arxitekturaga xos o'rniga mashina kodi. Java bayt kodi ko'rsatmalari mashina kodiga o'xshaydi, ammo ular a tomonidan bajarilishi kerak virtual mashina (VM) xost apparati uchun maxsus yozilgan. Oxirgi foydalanuvchilar odatda a dan foydalaning Java ish vaqti muhiti (JRE) o'zlarining shaxsiy kompyuterlarida Java dasturlari uchun yoki veb-brauzerda o'rnatilgan Java dasturlari.
Standart kutubxonalar xostga xos xususiyatlarga, masalan, grafika, iplar va tarmoq.
Universal bayt kodidan foydalanish portlashni soddalashtiradi. Biroq, qo'shimcha xarajatlar tarjima qilish bayt kodi mashina ko'rsatmalariga kiritilgan, sharhlangan dasturlar deyarli har doim mahalliyga qaraganda sekinroq ishlaydi bajariladigan fayllarAyni vaqtida Ishlash vaqtida bayt-kodlarni mashina kodiga kompilyatsiya qiladigan (JIT) kompilyatorlar dastlabki bosqichdan boshlab kiritilgan. Java o'zi platformadan mustaqildir va u ishlatadigan platformaga moslashgan Java virtual mashinasi (JVM) uchun tarjima qilingan Java bayt kodi platformaning mashina tiliga.[46]
Ishlash
Asosiy maqola: Java ishlashi
Java tilida yozilgan dasturlar yozilgandan sekinroq va ko'proq xotira talab qiladigan obro'ga ega C ++ .[47][48] Biroq, Java dasturlarini bajarish tezligi joriy etilishi bilan sezilarli darajada yaxshilandi o'z vaqtida kompilyatsiya 1997/1998 yillarda Java 1.1,[49] kodni yaxshiroq tahlil qilishni qo'llab-quvvatlovchi til funktsiyalarining qo'shilishi (ichki sinflar, StringBuilder klassi, ixtiyoriy tasdiqlar va hk) va Java virtual mashinasida optimallashtirish, masalan HotSpot 2000 yilda Quyoshning JVM standarti bo'lib qoldi. Java 1.5 bilan ishlash java.util.concurrent to'plami qo'shilishi bilan yaxshilandi, shu jumladan bepul qulflang amalga oshirish Parallel xaritalar va boshqa ko'p yadroli to'plamlar va Java 1.6 bilan yanada yaxshilandi.
JVM bo'lmagan
Ba'zi platformalar Java uchun to'g'ridan-to'g'ri apparat yordamini taklif qiladi; dasturiy ta'minot Java virtual mashinasi o'rniga qo'shimcha qurilmalarda Java bayt kodini boshqaradigan mikro tekshirgichlar mavjud,[50] va ba'zilari ARM asosidagi protsessorlarda Java bayt kodini bajarish uchun apparat yordami bo'lishi mumkin Jazel variant, garchi qo'llab-quvvatlash asosan ARMning joriy dasturlarida to'xtatilgan bo'lsa.
Xotirani avtomatik boshqarish
Java an foydalanadi avtomatik axlat yig'uvchi (AGC) xotirani boshqarish uchun ob'ektning hayot aylanishi. Dasturchi qachon ob'ektlar yaratilishini aniqlaydi va Java ish vaqti ob'ektlar ishlatilmay qolgandan keyin xotirani tiklash uchun javobgardir. Ob'ektga havolalar qolmagandan so'ng, ulanib bo'lmaydigan xotira avtomatik ravishda axlat yig'uvchi tomonidan ozod qilish huquqiga ega bo'ladi. A ga o'xshash narsa xotira oqishi dasturchining kodida keraksiz bo'lgan narsaga havola bo'lsa, odatda kerak bo'lmaydigan narsalar hali ham ishlatilayotgan idishlarda saqlanganda paydo bo'lishi mumkin. Agar mavjud bo'lmagan ob'ekt uchun usullar chaqirilsa, a nol ko'rsatkich istisno tashlanadi.[51][52]
Java-ning xotirani avtomatik boshqarish modeli asosidagi g'oyalardan biri bu dasturchilar xotirani qo'lda boshqarishni amalga oshirish majburiyatidan xalos bo'lishdir. Ba'zi tillarda moslamalarni yaratish uchun xotira bilvosita ajratilgan suyakka dan aniq ajratilgan va ajratilgan uyum. Ikkinchi holatda, xotirani boshqarish mas'uliyati dasturchiga tegishli. Agar dastur ob'ektni taqsimlamasa, a xotira oqishi sodir bo'ladi. Agar dastur allaqachon ajratilgan xotiraga kirishga yoki uni ajratishga harakat qilsa, natija aniqlanmagan va taxmin qilish qiyin va dastur beqaror bo'lib qolishi yoki ishdan chiqishi mumkin. Yordamida qisman tuzatilishi mumkin aqlli ko'rsatgichlar, ammo bu qo'shimcha xarajatlarni va murakkablikni oshiradi. E'tibor bering, axlat yig'ish to'sqinlik qilmaydi mantiqiy xotira qochqinlar, ya'ni xotira hali ham havola qilinadigan, ammo hech qachon ishlatilmaydigan joylar.
Axlat yig'ish har qanday vaqtda yuz berishi mumkin. Ideal holda, dastur bo'sh turganida paydo bo'ladi. Agar uyumda yangi ob'ekt ajratish uchun bo'sh xotira etarli bo'lmasa, uni ishga tushirish kafolatlanadi; bu dasturning bir lahzada to'xtab qolishiga olib kelishi mumkin. Java-da xotirani aniq boshqarish mumkin emas.
Java C / C ++ uslubini qo'llab-quvvatlamaydi ko'rsatkich arifmetikasi, bu erda ob'ekt manzillari arifmetik ravishda boshqarilishi mumkin (masalan, ofset qo'shish yoki olib tashlash yo'li bilan). Bu axlat yig'uvchiga havola qilingan moslamalarni boshqa joyga ko'chirishga imkon beradi va tur xavfsizligi va xavfsizligini ta'minlaydi.
C ++ va boshqa ba'zi ob'ektga yo'naltirilgan tillarda bo'lgani kabi, Java-ning o'zgaruvchilari ibtidoiy ma'lumotlar turlari to'g'ridan-to'g'ri maydonlarda (ob'ektlar uchun) yoki suyakka (usullar uchun) emas, balki odatda ibtidoiy bo'lmagan ma'lumotlar turlari uchun to'g'ri keladi (lekin qarang) qochish tahlili ). Bu Java-ning dizaynerlari tomonidan ishlash sabablari bilan ongli ravishda qaror qilindi.
Java tarkibida bir nechta axlat yig'uvchilar mavjud. Odatiy bo'lib, HotSpot quyidagini ishlatadi parallel chiqindilarni yig'uvchi.[53] Shu bilan birga, uyumni boshqarish uchun ishlatilishi mumkin bo'lgan yana bir nechta axlat yig'uvchilar mavjud. Java dasturlarining 90% uchun Bir vaqtning o'zida Mark-Sweep (CMS) axlat yig'uvchi etarli.[54] Oracle CMS-ni "bilan" almashtirishga qaratilgan Axlat-birinchi yig'uvchi (G1).[55]
Xotirani boshqarish muammosini hal qilish, dasturchini boshqa turdagi resurslarni, masalan, tarmoq yoki ma'lumotlar bazasi ulanishlari, fayl tutqichlari va boshqalarni to'g'ri ishlash yukidan xalos qilmaydi, ayniqsa istisnolar mavjud bo'lganda. Paradoksal ravishda, axlat yig'uvchilarning mavjudligi sinflarda aniq destruktor usuliga ega bo'lish zaruriyatini yo'qotib qo'ydi va shu bilan boshqa resurslarni boshqarish qiyinlashdi.[iqtibos kerak ]
Sintaksis
Asosiy maqola: Java sintaksis

Java Core sinflarining bog'liqlik grafigi (jdeps va bilan yaratilgan Gephi )
Java sintaksisiga asosan ta'sir ko'rsatmoqda C ++ va C. Tarkibiy, umumiy va ob'ektga yo'naltirilgan dasturlash uchun sintaksisni birlashtirgan C ++ dan farqli o'laroq, Java deyarli faqat ob'ektga yo'naltirilgan til sifatida yaratilgan.[18] Barcha kodlar sinflar ichida yozilgan va har qanday ma'lumotlar elementi, ibtidoiy ma'lumotlar turlari bundan mustasno (ya'ni butun sonlar, suzuvchi nuqta raqamlari, mantiqiy qiymatlar va belgilar), ular ishlash sabablari uchun ob'ekt emas. Java C ++ ning ba'zi mashhur jihatlarini qayta ishlatadi (masalan printf usul).
C ++ dan farqli o'laroq, Java qo'llab-quvvatlamaydi operatorning ortiqcha yuklanishi[56] yoki ko'p meros sinflar uchun, garchi bir nechta meros qo'llab-quvvatlansa interfeyslar.[57]
Java foydalanadi Izohlar C ++ bilan o'xshash. Uch xil sharh uslubi mavjud: ikkita chiziq bilan belgilangan bitta chiziq uslubi (//) bilan ochilgan ko'p qatorli uslub /* va bilan yopilgan */, va Javadoc sharhlash uslubi ochildi /** va bilan yopilgan */. Javadoc sharhlash uslubi foydalanuvchiga dastur uchun hujjat yaratish uchun Javadoc bajariladigan dasturini ishga tushirishga imkon beradi va ba'zilari o'qishi mumkin. birlashgan rivojlanish muhiti (IDE) kabi Tutilish ishlab chiquvchilarga IDE doirasida hujjatlarga kirishga ruxsat berish.
Salom dunyo misoli
An'anaviy Salom dunyo dasturi Java-da quyidagicha yozilishi mumkin:[58]
jamoat sinf HelloWorldApp { jamoat statik bekor asosiy(Ip[] kamon) { Tizim.chiqib.println("Salom Dunyo!"); // Ipni konsolga bosib chiqaradi. }}
Barcha manba fayllari qo'shimchani qo'shib, ular tarkibidagi umumiy sinf nomi bilan nomlanishi kerak .java, masalan, HelloWorldApp.java. Avval bayt kodiga kompilyatsiya qilinishi kerak Java kompilyatori bilan fayl ishlab chiqarish .class qo'shimchasi (HelloWorldApp.class, Ushbu holatda). Shundan keyingina uni bajarish yoki ishga tushirish mumkin. Java manba fayli faqat bitta umumiy sinfni o'z ichiga olishi mumkin, ammo u umumiy bo'lmagan kirish modifikatori va istalgan umumiy songa ega bo'lgan bir nechta sinflarni o'z ichiga olishi mumkin ichki sinflar. Agar manba faylida bir nechta sinf mavjud bo'lsa, bitta sinfni yaratish kerak (. Tomonidan kiritilgan sinf kalit so'z) umumiy (oldin jamoat kalit so'z) va manba faylini ushbu umumiy sinf nomi bilan nomlang.
Ommaviy deb e'lon qilinmagan sinf har qanday joyda saqlanishi mumkin .java fayl. Tuzuvchi manba faylida aniqlangan har bir sinf uchun sinf faylini yaratadi. Sinf faylining nomi sinf nomi, bilan .class ilova qilingan. Sinf fayllarini yaratish uchun, noma'lum sinflar go'yo ularning nomi ularning atrofidagi sinf nomlari birikmasi bo'lganidek muomala qilinadi, a $va butun son.
The kalit so'z jamoat usulni boshqa sinflardagi koddan chaqirish mumkinligini yoki sinf sinf ierarxiyasidan tashqaridagi sinflar tomonidan ishlatilishini bildiradi. Sinf iyerarxiyasi .java fayli joylashgan katalog nomi bilan bog'liq. Bunga kirish darajasini o'zgartiruvchi deyiladi. Kirish darajasining boshqa modifikatorlari kalit so'zlarni o'z ichiga oladi xususiy (faqat bitta sinfda kirish mumkin bo'lgan usul) va himoyalangan (bir xil paketdagi kodga kirish uchun ruxsat beruvchi). Agar kodning bir qismi shaxsiy usullarga yoki himoyalangan usullarga kirishga harakat qilsa, JVM a ni tashlaydi SecurityException
Kalit so'z statik[19] usul oldida a ni bildiradi statik usul, bu faqat sinf bilan bog'liq va bu sinfning biron bir aniq namunasi bilan bog'liq emas. Ob'ektga murojaat qilmasdan faqat statik usullarni chaqirish mumkin. Statik usullar statik bo'lmagan har qanday sinf a'zolariga kira olmaydi. Statik deb belgilanmagan usullar instansiya usulidir va ishlash uchun sinfning o'ziga xos nusxasini talab qiladi.
Kalit so'z bekor asosiy usul qo'ng'iroq qiluvchiga hech qanday qiymat qaytarmasligini ko'rsatadi. Agar Java dasturi xato kodi bilan chiqmoqchi bo'lsa, u System.exit () dasturiga aniq qo'ng'iroq qilishi kerak.
Usul nomi asosiy Java tilidagi kalit so'z emas. Bu shunchaki Java launcher dasturni boshqarishni uzatishga chaqiradigan usulning nomi. Applet va kabi boshqariladigan muhitda ishlaydigan Java sinflari Enterprise JavaBeans ishlatmang yoki kerak emas asosiy () usul. Java dasturida bir nechta sinf mavjud bo'lishi mumkin asosiy usullari, ya'ni VM-ni qaysi sinfdan boshlash kerakligini aniq aytish kerak.
Asosiy usul an qabul qilishi kerak qator ning Ip ob'ektlar. Konventsiyaga ko'ra, unga quyidagicha murojaat qilinadi kamon boshqa har qanday huquqiy identifikator nomidan foydalanish mumkin bo'lsa-da. Java 5 dan boshlab, asosiy usul ham foydalanishi mumkin o'zgaruvchan dalillar shaklida public static void main (String ... args), asosiy usulni ixtiyoriy son bilan chaqirishga imkon beradi Ip dalillar. Ushbu muqobil deklaratsiyaning ta'siri semantik jihatdan bir xil (ga kamon hali ham bir qator bo'lgan parametr Ip ob'ektlar), ammo bu massivni yaratish va uzatish uchun muqobil sintaksisga imkon beradi.
Java launcher ma'lum bir sinfni yuklash orqali Java-ni ishga tushiradi (buyruq satrida yoki a-da atribut sifatida ko'rsatilgan) JAR ) va uni boshlash public static void main (String []) usul. Mustaqil dasturlar ushbu usulni aniq e'lon qilishi kerak. The Arqonlar qatori parametr an qator ning Ip sinfga berilgan har qanday argumentlarni o'z ichiga olgan ob'ektlar. Parametrlari asosiy ko'pincha a orqali uzatiladi buyruq satri.
Bosib chiqarish Java standart kutubxonasining bir qismidir: The Tizim class deb nomlangan umumiy statik maydonni belgilaydi chiqib. The chiqib ob'ekt. ning misoli PrintStream sinf va ma'lumotlarni chop etishning ko'plab usullarini taqdim etadi standart chiqib, shu jumladan println (satr) uzatilgan qatorga yangi qator qo'shiladi.
Ip "Salom Dunyo!" kompilyator tomonidan avtomatik ravishda String ob'ektiga aylantiriladi.
Xulosa
Xulosa qilib shuni ta’kidlash kerakki, men ushbu ishni bajarish jarayonida dasturlash tillari, ularning klassifikatsiyasi, shu jumladan Java dasturlash tili va unung kelib chiqishiga oid ma’lumotlar bilan tanishdim. Java dasturlash tilining kompilyatorlar, ularning o’xshash va farqli tomonlarini o’rgandim. Java dasturlash tilining alfavitini o’rgandim va bir necha misollar yechdim.

Foydalanilgan adabiyotlar
1.
Java 2 Standart Edition - zamonaviy dasturlash tili “ , kasb - hunar kollejlari uchun qo’llanma, Rashid Turg’unboyev.
2.
http://hozir.org
3.
https://www.onlinegdb.com/online_java_compile
4.
https://www.texnoman.uz/
Download 233.16 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling