Java dasturlash tili muhiti
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.
Galaxy telefonlarini solishtiring
*Onlayn eksklyuziv ranglar faqat Samsung saytida mavjud.
SOLISHTIRISH
Uni aylantirib koʻring
*Onlayn eksklyuziv ranglar faqat Samsung saytida mavjud.
Uni tanish yuzga tuting
*Onlayn eksklyuziv ranglar faqat Samsung saytida mavjud.
360° DA KO‘RISH
Uni tanish yuzga tuting
*Onlayn eksklyuziv ranglar faqat Samsung saytida mavjud.
360° DA KO‘RISH
360° DA KO‘RISH
SOLISHTIRISH
Displey
- Galaxy S23 Ultra
- Qamrab oluvchi o‘yin uchun optimallashtirilgan
- 6,8 dyuym*
- 3088 x 1440 (Edge Quad HD+)
- Tashqarini tiniqlik bilan ko‘ring
- 6,6 dyuym*
- 2340 x 1080 (Tekis1 FHD+)
- Tashqarini tiniqlik bilan ko‘ring
- 6,1 dyuym*
- 2340 x 1080 (Tekis1 FHD+)
- *To‘liq to‘rtburchakda diagonal yo‘nalishda o‘lchangan. Egrilangan burchaklar va/yoki kamera teshigi tufayli haqiqatda ko‘rinuvchan soha kamroq bo‘ladi.
O‘lchami
(Balandligi x Eni x Chuqurligi)
- Galaxy S23 Ultra
163.4 x 78.1 x 8.9
157.8 x 76.2 x 7.6
146.3 x 70.9 x 7.6
- *O‘lchamlar millimetrlarda o‘lchangan.
Xotira
- Galaxy S23 Ultra
- taqdim etilmaydi
- 256 GB
- 512 GB
- taqdim etilmaydi
- taqdim etilmaydi
- 256 GB
- 512 GB
- taqdim etilmaydi
- 128 GB
- 256 GB
- taqdim etilmaydi
- taqdim etilmaydi
- *Haqiqiy xotiradan foydalanish imkoniyati avvaldan o‘rnatilgan dasturiy ta’minotga bog‘liq holda farq qilishi mumkin.
- *Xotira opsiyalarining mavjudligi mamlakat, mintaqa yoki operatorga qarab farq qilishi mumkin. Tanlangan xotira opsiyalari faqat Samsung saytida mavjud bo‘lishi mumkin.
Kamera
- Galaxy S23 Ultra
Batareya
(mA/soat, tipik)
- Galaxy S23 Ultra
- 5000 2
- 26 soatgacha video ijrosi 3
- 4700 2
- 27 soatgacha video ijrosi 3
- 3900 2
- 22 soatgacha video ijrosi 3
Protsessor
- Galaxy S23 Ultra
- Super tez qayta ishlash
- Snapdragon® 8 Gen 2 Mobile Platform for Galaxy
- Sakkiz yadroli
- Super tez qayta ishlash
- Snapdragon® 8 Gen 2 Mobile Platform for Galaxy
- Sakkiz yadroli
- Super tez qayta ishlash
- Snapdragon® 8 Gen 2 Mobile Platform for Galaxy
- Sakkiz yadroli
Mustahkamligi
-
Galaxy S23 Ultra
- *Bu uning 1,5 metrlik toza suv ostida 30 daqiqagacha ushlab turishday sinovdan o‘tganiga asoslanadi. Plyaj yoki hovuzda undan foydalanish maslahat berilmaydi.
- Galaxy S23 Ultra
- Samsung Health
- taqdim etilmaydi
- Samsung Health
- taqdim etilmaydi
- Samsung Health
- taqdim etilmaydi
- Galaxy S23 Ultra
- *Optimal 5G ulanishini talab qiladi.
- *Qurilma tomonidan qo‘llab-quvvatlanuvchi chastotalar polosalari mamlakat, hudud yoki operatorga ko‘ra farq qilishi mumkin.
- Galaxy S23 Ultra
- *Ichki qurilgan S Pen faqat uning mos smartfon modeli bilan mos keladi. S Pen Galaxy S21 Ultra uchun alohida sotiladi. Air Command va Air Action xususiyatining mavjudligi model yoki ilovaga ko‘ra farq qilishi mumkin.
- 10x dan ortiq darajada kattalashtirish tasvirning ma’lum darajada buzilishiga olib kelishi mumkin.
- Tipik qiymat uchinchi tomon laboratoriya sharoitlarida tekshirilgan. Tipik qiymat IEC 61960 standarti ostida tekshirilgan batareya namunalari orasidan batareya sig‘imidagi chetlanishni hisobga olgan holda hisoblangan o‘rtacha qiymatdir. Nominal (minimal) sig‘im Galaxy S23 uchun 3785 mAs, Galaxy S23+ uchun 4565 mAs va Galaxy S23 Ultra uchun 4855 mAs ga teng. Batareyaning amalda ishlash vaqti tarmoq muhiti, foydalanish namunalari va boshqa omillarga bog‘liq holda farq qilishi mumkin.
- LTE orqali standart sozlamalar ostida Bluetooth orqali quloqchinga ulangan ushbu modelning chiqarilishdan oldingi versiyasi bilan Samsung ichki laboratoriya sinov shartlariga asoslanadi. Videoni ijro etish vaqtida batareya quvvati va batareya quvvati sarfi ustidan o‘lchangan kuchlanish bo‘yicha hisoblangan (video fayl tasvir aniqligi 720p, qurilmada saqlangan). Haqiqiy videoni ijro etish vaqti tarmoq ulanishi, sozlamalar, video fayl formati, ekran yorqinligi, batareya holati va boshqa ko‘plab omillarga bog‘liq.
- 1 Tarix
- 1.1 Printsiplar
- 1.2 Versiyalar
- 3.1 Java JVM va bayt kodi
- 3.1.1 Ishlash
- 4.1 Salom dunyo misoli
- 4.2 Uslublar bilan misol
- 5.1 Olma
- 5.2 Servlet
- 5.3 JavaServer sahifalari
- 5.4 Sallanmaya ilova
- 5.5 JavaFX dasturi
- 5.6 Generika
- 10.1 Android
- 10.1.1 Qarama-qarshilik
- 11.1 Java-ni boshqa tillar bilan taqqoslash
Tarix
Shuningdek qarang: Java (dasturiy ta’minot platformasi) § Tarix
Dyuk, Java maskoti
Jeyms Gosling, Java yaratuvchisi, 2008 yildaThe 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 EE, Java 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 markazlari, o’yin konsollari ilmiy superkompyuterlar. [38]
Printsiplar
Java tilini yaratishda beshta asosiy maqsad bor edi: [18]
- Bu oddiy bo’lishi kerak, ob’ektga yo’naltirilgan va tanish.
- Bu mustahkam va xavfsiz bo’lishi kerak.
- Arxitektura-neytral va ko’chma bo’lishi kerak.
- Bu yuqori ishlash bilan bajarilishi kerak.
- Bu bo’lishi kerak talqin qilingan, tishli va dinamik.
Versiyalar
2020 yil sentyabr oyidan boshlab [yangilash] , 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
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 fayllar. Ayni 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.
Uslublar bilan misol
// Bu ikkita chiziqdan foydalangan holda bitta satr sharhining misoli/* * Bu chiziq va yulduzcha yordamida ko'p satrli sharhning misoli. * Ushbu turdagi sharhlardan ko'plab ma'lumotlarni saqlash yoki o'chirish uchun foydalanish mumkin * kod, lekin sharhni yopishni unutmaslik juda muhimdir. */paket tolalar;Import java.util.Map;Import java.util.HashMap;/** * Bu Javadoc sharhining misoli; Javadoc hujjatlarni tuzishi mumkin * ushbu matndan. Javadoc sharhlari darhol sinf, usuldan oldin bo'lishi kerak, * yoki hujjatlashtirilgan maydon. * @avtor Vikipediya ko'ngillilari */jamoat sinf FibCalculator uzaytiradi Fibonachchi asboblar Kalkulyator xususiy statik XaritaButun son, Butun son> yodlangan = yangi HashMap<>(); /* * Quyidagi tarzda yozilgan asosiy usul JVM tomonidan boshlang'ich nuqta sifatida ishlatiladi * dastur uchun. */ jamoat statik bekor asosiy(Ip[] kamon) yodlangan.qo'yish(1, 1); yodlangan.qo'yish(2, 1); Tizim.chiqib.println(fibonachchi(12)); // 12-Fibonachchi raqamini oling va konsolga bosib chiqaring > /** * Java-da yozilgan, sinfga o'ralgan usulga misol. * Salbiy bo'lmagan FIBINDEX raqami berilgan bo'lsa, qaytadi * N-Fibonachchi raqami, bu erda N FIBINDEX ga teng. * * @param fibIndex Fibonachchi raqamining ko'rsatkichi * Fibonachchi raqamini qaytaring */ jamoat statik int fibonachchi(int fibIndex) agar (yodlangan.o'z ichiga oladiKey(fibIndex)) qaytish yodlangan.olish(fibIndex); boshqa int javob bering = fibonachchi(fibIndex - 1) + fibonachchi(fibIndex - 2); yodlangan.qo'yish(fibIndex, javob bering); qaytish javob bering; > >>
Maxsus darslar
Ushbu bo’lim uchun qo’shimcha iqtiboslar kerak tekshirish. Iltimos yordam bering ushbu maqolani yaxshilang tomonidan ishonchli manbalarga iqtiboslarni qo’shish. Ma’lumot manbasi bo’lmagan materialga qarshi chiqish va olib tashlash mumkin.
Manbalarni toping: “Java” dasturlash tili – Yangiliklar · gazetalar · kitoblar · olim · JSTOR ( 2019 yil may ) (Ushbu shablon xabarini qanday va qachon olib tashlashni bilib oling)Olma
Asosiy maqola: Java ilovasi
Java dasturlari bo’lgan dasturlar edi ko’milgan boshqa dasturlarda, odatda veb-brauzerda ko’rsatilgan veb-sahifada. Java applet API endi 2017 yilda Java 8 dan beri eskirgan. [59] [60]
Servlet
Asosiy maqola: Java servlet
Java servlet texnologiya veb-ishlab chiquvchilarga veb-server funksiyasini kengaytirish va mavjud biznes tizimlariga kirish uchun oddiy, izchil mexanizmni taqdim etadi. Servletlar server tomoni So’rovlarga javob beradigan Java EE komponentlari mijozlar. Ko’pincha, bu ishlab chiqarishni anglatadi HTML javoban sahifalar HTTP masalan, boshqa bir qator standart servlet sinflari mavjud bo’lsa ham, so’rovlar WebSocket aloqa.
Java servlet API-si ma’lum darajada veb-xizmatlar uchun ikkita standart Java texnologiyalari tomonidan almashtirildi (lekin baribir qopqoq ostida ishlatilgan):
- The RESTful veb-xizmatlari uchun Java API (JAX-RS 2.0) AJAX, JSON va REST xizmatlari uchun foydalidir va
- The XML veb-xizmatlari uchun Java API (JAX-WS) uchun foydalidir SABUNVeb-xizmatlar.
Ushbu API-larni dastur serverlarida yoki xizmatlar konteynerlarida odatiy tatbiq etishda, HTTP so’rovlari va veb-xizmat usullariga vakolat beradigan javoblar bilan barcha o’zaro ta’sirlarni boshqarish uchun standart servlet ishlatiladi.
JavaServer sahifalari
Asosiy maqola: JavaServer sahifalari
JavaServer sahifalari (JSP) server tomoni Javoblarni ishlab chiqaradigan Java EE komponentlari, odatda HTML sahifalar, to HTTP so’rovlari mijozlar. JSP-lar Java-kodni maxsus sahifadan foydalanib HTML-sahifaga joylashtiradi ajratuvchilar . JSP Java-da tuzilgan servlet, o’z-o’zidan Java ilovasi, unga birinchi marta kirishda. Shundan so’ng, yaratilgan servlet javobni yaratadi. [61]
Sallanmaya ilova
Asosiy maqola: Swing (Java)
Belanchak grafik foydalanuvchi interfeysi kutubxona Java SE platformasi uchun. Orqali boshqa ko’rinishni va hissiyotni ko’rsatish mumkin ulanadigan ko’rinish va his qilish Swing tizimi. Klonlari Windows, GTK + va Motiv Sun tomonidan ta’minlanadi. olma shuningdek Akva qarash va his qilish macOS. Ushbu ko’rinishlar va his-tuyg’ularning oldindan tatbiq etilishi yo’q deb hisoblangan bo’lsa, Java SE 6-da almashtirish ushbu muammoni ko’proq mahalliy foydalanish orqali hal qiladi GUI vidjeti asosiy platformalarning tartiblarini chizish. [62]
JavaFX dasturi
Asosiy maqola: JavaFX
JavaFX a dasturiy ta’minot platformasi yaratish va etkazib berish uchun ish stoli dasturlari, shu qatorda; shu bilan birga boy Internet dasturlari (RIA) turli xil qurilmalar bo’ylab ishlashi mumkin. JavaFX almashtirish uchun mo’ljallangan Belanchak standart sifatida GUI uchun kutubxona Java SE, lekin JDK 11 JavaFX JDK yadrosida bo’lmagan va uning o’rniga alohida modulda bo’lgan. [63] JavaFX-ni qo’llab-quvvatlaydi ish stoli kompyuterlar va veb-brauzerlar kuni Microsoft Windows, Linux va macOS. JavaFX-da mahalliy OS ko’rinishini qo’llab-quvvatlamaydi. [64]
Generika
Asosiy maqola: Java-dagi umumiy narsalar
2004 yilda, umumiy narsalar Java tiliga J2SE 5.0 ning bir qismi sifatida qo’shildi. Umumiy ma’lumotlar kiritilishidan oldin har bir o’zgaruvchining deklaratsiyasi ma’lum bir turdagi bo’lishi kerak edi. Masalan, konteyner sinflari uchun bu muammo tug’diradi, chunki faqat ma’lum turdagi ob’ektlarni qabul qiladigan konteyner yaratish oson emas. Yoki konteyner odatda sinf yoki interfeysning barcha kichik tiplarida ishlaydi Ob’ekt yoki har bir sinf uchun boshqa konteyner sinfi yaratilishi kerak. Generics kompilyatsiya vaqtini tekshirishga imkon beradi, ularning har biri deyarli bir xil kodni o’z ichiga olgan ko’plab konteyner sinflarini yaratmasdan. Keyinchalik samarali kodni yoqish bilan bir qatorda, kompilyatsiya vaqtida xatoliklarni keltirib, ba’zi ish vaqti istisnolari paydo bo’lishining oldini oladi. Agar Java barcha ish vaqti turidagi xatolarni oldini olgan bo’lsa ( ClassCastException s) sodir bo’lishidan, shunday bo’lar edi xavfsiz turi.
2016 yilda Java-ning tipik tizimi isbotlandi asossiz. [65]
Tanqid
Asosiy maqola: Java-ni tanqid qilish
Java-ga qaratilgan tanqidlarga jeneriklarni amalga oshirish kiradi, [66] tezlik, [67] imzosiz raqamlar bilan ishlash, [68] suzuvchi nuqta arifmetikasini amalga oshirish, [69] va asosiy Java VM dasturida xavfsizlik zaifliklari tarixi HotSpot. [70]
Sinf kutubxonalari
Asosiy maqola: Java sinf kutubxonasi
The Java sinf kutubxonasi bo’ladi standart kutubxona, Java-da dasturlarni ishlab chiqishni qo’llab-quvvatlash uchun ishlab chiqilgan. U tomonidan boshqariladi Oracle orqali boshqalar bilan hamkorlikda Java jamoatchilik jarayoni dastur. [71] Ushbu jarayonda ishtirok etadigan kompaniyalar yoki jismoniy shaxslar API-larni loyihalashtirish va rivojlanishiga ta’sir ko’rsatishi mumkin. Ushbu jarayon 2010 yillar davomida tortishuvlarga sabab bo’ldi. [72] Sinf kutubxonasida quyidagi funktsiyalar mavjud:
- Asosiy kutubxonalar:
- IO /NIO
- Tarmoq (Izoh: yangi HTTP mijozi Java 11 dan beri)
- Ko’zgu
- Muvofiqlik
- Generika
- Ssenariy / kompilyator
- Funktsional dasturlash (Lambda, Oqim)
- To’plam kutubxonalari amalga oshiradigan ma’lumotlar tuzilmalari kabi ro’yxatlar, lug’atlar, daraxtlar, to’plamlar, navbat va ikki tomonlama navbat, yoki vayronalar[73]
- XML Kutubxonalarni qayta ishlash (tahlil qilish, o’zgartirish, tasdiqlash)
- Xavfsizlik[74]
- Xalqarolashtirish va mahalliylashtirish kutubxonalar [75]
- The Java ma’lumotlar bazasiga ulanish (JDBC) API ma’lumotlar bazasiga kirish uchun
- Java nomlanishi va katalog interfeysi (JNDI) qidiruv va kashfiyot uchun
- RMI va KORBA tarqatilgan dasturlarni ishlab chiqish uchun
- JMX dasturlarni boshqarish va nazorat qilish uchun
- (Og’ir vaznli yoki tug’ma ) Xulosa oynasi uchun vositalar to’plami (AWT) beradi GUI komponentlar, ushbu tarkibiy qismlarni yotqizish uchun vositalar va ushbu tarkibiy qismlardan voqealarni boshqarish vositalari
- (Engil) Belanchak AWT asosida qurilgan, lekin AWT vidjetining (mahalliy bo’lmagan) dasturlarini ta’minlaydigan kutubxonalar
- Ovozni yozib olish, qayta ishlash va ijro etish uchun API-lar
- JavaFX
Hujjatlar
Asosiy maqola: Javadoc
Javadoc – bu tomonidan yaratilgan keng qamrovli hujjatlar tizimi Quyosh mikrosistemalari. Bu ishlab chiquvchilarga o’zlarining kodlarini hujjatlashtirish uchun uyushgan tizimni taqdim etadi. Javadoc izohlari boshida qo’shimcha yulduzcha bor, ya’ni ajratuvchilar /** va */ , Java-da odatdagi ko’p satrli sharhlar ajratuvchilar bilan o’rnatiladi /* va */ , va bitta qatorli sharhlar qatordan boshlanadi // . [76]
Amaliyotlar
Shuningdek qarang: Bepul Java dasturlari
Oracle korporatsiyasi Java SE platformasini sotib olganidan so’ng rasmiy tatbiq etishning amaldagi egasi Quyosh mikrosistemalari 2010 yil 27-yanvarda. Ushbu dastur Java tomonidan Sun.ning asl dasturiga asoslangan. Oracle dasturi mavjud Microsoft Windows (hali ham XP uchun ishlaydi, faqat keyingi versiyalari hozirda rasmiy ravishda qo’llab-quvvatlanmoqda), macOS, Linux va Solaris. Java tomonidan tan olingan har qanday rasmiy standartlashtirish yo’qligi sababli Ecma International, ISO / IEC, ANSI yoki boshqa uchinchi tomon standartlari tashkilotlari, Oracle dasturini amalga oshirish amalda standart.
Oracle dasturi ikki xil tarqatishda paketlangan: Java dasturlarini ishga tushirish uchun zarur bo’lgan Java SE platformasining qismlarini o’z ichiga olgan va oxirgi foydalanuvchilar uchun mo’ljallangan Java Runtime Environment (JRE). Java Development Kit (JDK), dasturiy ta’minot ishlab chiquvchilari uchun mo’ljallangan va kabi ishlab chiqish vositalarini o’z ichiga oladi Java kompilyatori, Javadoc, Jar va a tuzatuvchi. Oracle ham chiqdi GraalVM, yuqori sifatli Java dinamik kompilyatori va tarjimoni.
OpenJDK GNU GPL bo’yicha litsenziyalangan yana bir muhim Java SE dasturidir. Amalga oshirish Sun GPL ostida Java manba kodini chiqarishni boshlaganda boshlandi. Java SE 7 dan boshlab, OpenJDK rasmiy Java mos yozuvlar dasturidir.
Java-ning maqsadi Java-ning barcha dasturlarini mos keltirishdir. Tarixga ko’ra, Sun-ning Java brendidan foydalanish uchun savdo markasi litsenziyasi barcha dasturlarning bajarilishini talab qiladi mos. Bu bilan huquqiy nizo yuzaga keldi Microsoft Sun Microsoft dasturini qo’llab-quvvatlamaydi deb da’vo qilgandan keyin RMI yoki JNI va o’zlarining platformalariga xos xususiyatlarini qo’shdilar. Sun 1997 yilda sudga murojaat qildi va 2001 yilda 20 million AQSh dollar miqdorida kelishuvga erishdi, shuningdek Sun tomonidan litsenziya shartlarini bajargan sud qarori. [77] Natijada, Microsoft endi Java-ni jo’natmaydi Windows.
Platformadan mustaqil Java muhim ahamiyatga ega Java EE va amalga oshirilishini tasdiqlash uchun yanada qat’iyroq tekshirish talab etiladi. Ushbu muhit portativ server tomonidagi dasturlarni yoqadi.
Java platformasidan tashqarida foydalaning
Java dasturlash tili kompilyatsiya qilingan dasturlarning bajarilishi uchun dasturiy ta’minot platformasining mavjudligini talab qiladi.
Oracle etkazib beradi Java platformasi Java bilan ishlatish uchun. The Android SDK asosan ishlab chiqish uchun ishlatiladigan muqobil dasturiy platformadir Android ilovalari o’z GUI tizimi bilan.
Android
The Android operatsion tizim Java bilan bog’liq texnologiyalardan keng foydalanadi
Java tili asosiy ustundir Android, an ochiq manba mobil operatsion tizim. Android-da o’rnatilgan bo’lsa-da Linux yadrosi, asosan C, the-da yozilgan Android SDK Android dasturlari uchun asos sifatida Java tilidan foydalanadi, lekin uning standart GUI, SE, ME yoki boshqa o’rnatilgan Java standartlaridan foydalanmaydi. [78] Android SDK tomonidan qo’llab-quvvatlanadigan bayt kodi tili Java bayt kodi bilan mos kelmaydi va kam xotirali qurilmalar uchun optimallashtirilgan o’z virtual mashinasida ishlaydi. smartfonlar va planshet kompyuterlar. Android versiyasiga qarab, bayt kodi tomonidan izohlanadi Dalvik virtual mashinasi yoki tomonidan mahalliy kodga kiritilgan Android ish vaqti.
Android to’liq Java SE standart kutubxonasini ta’minlamaydi, garchi Android SDK uning katta to’plamini mustaqil ravishda amalga oshirishni o’z ichiga oladi. Java 6 va ba’zi Java 7 funktsiyalarini qo’llab-quvvatlaydi, bu standart kutubxonaga mos keladigan dasturni taklif qiladi (Apache uyg’unligi ).
Qarama-qarshilik
Shuningdek qarang: Oracle America, Inc., Google, Inc.
Android-da Java bilan bog’liq texnologiyalardan foydalanish Oracle va Google o’rtasida huquqiy nizolarga olib keldi. 2012 yil 7 mayda San-Frantsiskodagi hakamlar hay’ati API-lar mualliflik huquqini himoya qilishi mumkin bo’lsa, demak Google Android qurilmalarida Java-dan foydalangan holda Oracle-ning mualliflik huquqlarini buzganligini aniqladi. [79] Tuman sudyasi Uilyam Haskell Alsup 2012 yil 31 mayda API-lar mualliflik huquqiga ega emas degan qarorga keldi, [80] ammo bu 2014 yil may oyida AQShning Federal davri apellyatsiya sudi tomonidan bekor qilingan. [81] 2016 yil 26 mayda tuman sudi Google foydasiga qaror qildi va Android-da Java API-ning mualliflik huquqining buzilishi adolatli foydalanishni anglatadi. [82] 2018 yil mart oyida ushbu qaror Apellyatsiya sudi tomonidan bekor qilindi va San-Frantsisko federal sudiga etkazilgan zararni aniqlash to’g’risidagi ishni yubordi. [83] Google sertifikat hujjatlari uchun ariza bilan murojaat qildi Amerika Qo’shma Shtatlari Oliy sudi 2019 yil yanvar oyida Oracle foydasiga Apellyatsiya sudi tomonidan chiqarilgan ikkita qarorga qarshi chiqish. [84]
Shuningdek qarang
- Kompyuter dasturlash portali
- C #
- C ++
- Dalvik, eski Android versiyalarida ishlatilgan, o’rniga JIT bo’lmagan Android ish vaqti
- Deterministik parallel Java
- Java virtual mashinalarining ro’yxati
- Java API-lari ro’yxati
- JVM tillari ro’yxati
Java-ni boshqa tillar bilan taqqoslash
- C # va Java-ni taqqoslash
- Java va C ++ tillarini taqqoslash
Adabiyotlar
- ^ Binstuk, Endryu (2015 yil 20-may). “Java-ning 20 yillik innovatsiyasi”. Forbes. Arxivlandi asl nusxasidan 2016 yil 14 martda . Olingan 18 mart, 2016 .
- ^“Java 15-ning kelishi!”. Oracle. 2020 yil 15 sentyabr . Olingan 15 sentyabr, 2020 .
- ^ abvdBarbara Liskov bilan Jon Guttag (2000). Java dasturini ishlab chiqish – mavhumlashtirish, spetsifikatsiya va ob’ektga yo’naltirilgan dizayn. AQSh, Addison Uesli. ISBN9780201657685 .
- ^ Chaudxari, Garri H. (2014 yil 28-iyul). “Java dasturlash intervyusini buzish :: 2000+ Java Interview Que / Ans” . Olingan 29 may, 2016 .
- ^ Java 5.0 bir nechta yangi til xususiyatlarini qo’shdi ( loop uchun kengaytirilgan, avtookslash, vararglar va izohlar ), ular xuddi shunday (va raqobatdosh) kiritilganidan keyin C # til. [1]Arxivlandi 2011 yil 19 mart, soat Orqaga qaytish mashinasi[2]Arxivlandi 2006 yil 7 yanvar, soat Orqaga qaytish mashinasi
- ^ Gosling, Jeyms; Makgilton, Genri (1996 yil may). “Java til muhiti”. Arxivlandi asl nusxasidan 2014 yil 6 mayda . Olingan 6 may, 2014 .
- ^ Gosling, Jeyms; Joy, Bill; Stil, Yigit; Bracha, Gilad. “Java tilining spetsifikatsiyasi, 2-nashr”. Arxivlandi asl nusxasidan 2011 yil 5 avgustda . Olingan 8 fevral, 2008 .
- ^“Dasturlash tillarining A-Z: Modula-3”. Computerworld.au. Arxivlandi asl nusxasi 2009 yil 5-yanvarda . Olingan 9 iyun, 2010 .
- ^Niklaus Virt bir qator ommaviy tadbirlarda bayon etilgan, masalan. 2005 yil sentyabr oyida Moskvadagi Politexnika muzeyida o’tkazilgan ma’ruzada (rus tilida bir nechta mustaqil dastlabki hisoblar mavjud, masalan, audio yozuv bilan: Filippova, Elena (2005 yil 22 sentyabr). “Moskvadagi Politexnika muzeyida Niklaus Virtning ma’ruzasi”.
- ), Sun Java dizayn jamoasi Java chiqarilishidan bir necha yil oldin Oberon kompilyator manbalarini litsenziyalashgan va uni o’rganib chiqqan: a (nisbiy) ixchamlik, turlarning xavfsizligi, axlat yig’ish, sinflar uchun ko’p meros yo’q – bularning barchasi asosiy dizayn xususiyatlari Java va Oberon tomonidan birgalikda foydalaniladi.
- ^Patrik Naughton keltiradi Maqsad-C Java dasturlash tili dizayniga kuchli ta’sir sifatida, diqqatga sazovor to’g’ridan-to’g’ri derivativlarga Java interfeyslari kiradi (Objective-C dan olingan) protokol ) va ibtidoiy o’rash sinflari. [3]Arxivlandi 2011 yil 13 iyul, soat Orqaga qaytish mashinasi
- ^ TechMetrix Research (1999). “Java tarixi” (PDF) . Java dastur serverlari haqida hisobot. Arxivlandi asl nusxasi (PDF) 2010 yil 29 dekabrda. Loyiha ushbu nom ostida amalga oshirildi yashil va til eski modelga asoslangan edi UCSD Paskal, bu izohlovchi kodni yaratishga imkon beradi.
- ^“Jeyms Gosling bilan suhbat – ACM navbati”. Queue.acm. 2004 yil 31 avgust. Arxivlandi asl nusxasidan 2015 yil 16 iyulda . Olingan 9 iyun, 2010 .
- ^ 1996 yil yozida Quyosh hozirgi AWT voqea modeli va JavaBeans komponentlari arxitekturasi uchun kashshofni loyihalashtirmoqda. Borland bu jarayonga katta hissa qo’shdi. Biz Delphi Object Pascal dasturiga juda sinchkovlik bilan qaradik va ularning Java dasturlash tili va uning API-lari bilan o’zaro ta’sirini tushunish uchun bog’langan usul ma’lumotnomalarining ishchi prototipini yaratdik.Microsoft delegatlari haqida oq qog’oz
- ^“Chapel spec (Rahmat)” (PDF) . Cray Inc. 2015 yil 1-oktabr. Arxivlandi (PDF) asl nusxasidan 2016 yil 5 fevralda . Olingan 14 yanvar, 2016 .
- ^“Gambas hujjatlariga kirish”. Gambas veb-sayti. Arxivlandi asl nusxasidan 2017 yil 9 oktyabrda . Olingan 9 oktyabr, 2017 .
- ^“Facebook Savol-javoblari: Hack PHP dunyosiga statik yozuvlarni olib keladi”. InfoWorld. 2014 yil 26 mart. Arxivlandi asl nusxasidan 2015 yil 13 fevralda . Olingan 11 yanvar, 2015 .
- ^“Bir marta yozing, qayerga qochasiz?”. Kompyuter haftaligi. 2002 yil 2-may . Olingan 27 iyul, 2009 .
- ^ abv“Java ™ dasturlash tilining 1.2 dizayn maqsadlari”. Oracle. 1999 yil 1-yanvar. Arxivlandi asl nusxasidan 2013 yil 23 yanvarda . Olingan 14 yanvar, 2013 .
- ^ ab McMillan, Robert (2013 yil 1-avgust). “Java o’z Mojosini yo’qotadimi?”. simli. Arxivlandi asl nusxasidan 2017 yil 15 fevralda . Olingan 8 mart, 2017 . Java, hech bo’lmaganda kompyuter dasturlash tillarining o’zgaruvchan dunyosini kuzatib boradigan bitta kiyimga ko’ra, kamayib bormoqda. O’n yildan oshiq vaqt mobaynida u hukmronlik qilmoqda TIOBE Dasturlash Jamiyat indekslari va yana yuqori darajaga ko’tarildi – bu turli xil tillarning qanchalik shov-shuvga ega ekanligini o’lchash uchun Internet-qidiruv natijalari kabi narsalarni ko’rib chiqadigan dasturiy ta’minot ishlab chiqaruvchilarining g’ayrati. Ammo so’nggi paytlarda Java sirg’alib bormoqda.
- ^ Chan, Rozali (22 yanvar, 2019). “Dasturchilar uchun” Facebook “ma’lumotlariga ko’ra eng mashhur 10 ta dasturlash tili ‘ “. Business Insider. Arxivlandi asl nusxasidan 2019 yil 29 iyunda . Olingan 29 iyun, 2019 .
- ^“JavaOne 2013 sharhi: Java narsalar Internetini egallaydi”. www.oracle. Arxivlandi asl nusxasidan 2016 yil 19 aprelda . Olingan 19 iyun, 2016 .
- Alt URL
- ^“Nima uchun Java-ning eski versiyalarini tizimimdan o’chirib tashlashim kerak?”. Oracle . Olingan 9 sentyabr, 2016 .
- ^ Byous, Jon (1998 yil). “Java texnologiyasi: dastlabki yillar”. Sun Developer Network. Quyosh mikrosistemalari. Arxivlandi asl nusxasi 2005 yil 20 aprelda . Olingan 22 aprel, 2005 .
- ^ Ob’ektga yo’naltirilgan dasturlash “Java texnologiyasining tarixi”. Sun Developer Network. v. 1995 yil. Arxivlandi asl nusxasidan 2010 yil 10 fevralda . Olingan 30 aprel, 2010 .
- ^ Merfi, Kieron (1996 yil 4 oktyabr). “Xo’sh, nima uchun ular uni Java deb atashga qaror qildilar?”. JavaWorld . Olingan 2020-07-13 .
- ^ Kabutz, Xaynts; Bir marta eman ustigaArxivlandi 2007 yil 13 aprel, soat Orqaga qaytish mashinasi. Artima. Qabul qilingan 2007 yil 29 aprel.
- ^“JAVASOFT SHIPS JAVA 1.0”. Arxivlandi asl nusxasi 2007 yil 10 martda . Olingan 13 may, 2018 .
- ^Java bilan ob’ektga yo’naltirilgan dasturlash: Essentials and Applications. Tata McGraw-Hill ta’limi. p. 34.
- ^“JSG – Java Study Group”. open-std. Arxivlandi asl nusxasidan 2006 yil 25 avgustda . Olingan 2 avgust, 2006 .
- ^“Nima uchun Java ™ ikki marta standartlashtirilmagan edi” (PDF) . Arxivlandi (PDF) asl nusxasidan 2014 yil 13 yanvarda . Olingan 3 iyun, 2018 .
- ^“ECMA nima va nima uchun Microsoft unga g’amxo’rlik qiladi”. Arxivlandi asl nusxasidan 2014 yil 6 mayda . Olingan 6 may, 2014 .
- ^“Java Community Process veb-sayti”. Jcp. 2010 yil 24 may. Arxivlandi asl nusxasidan 2006 yil 8 avgustda . Olingan 9 iyun, 2010 .
- ^“JAVAONE: Sun – Java-ning asosiy qismi ochiq manbada”. GrnLight. Arxivlandi asl nusxasidan 2014 yil 27 mayda . Olingan 26 may, 2014 .
- ^“Quyoshning Java Xushxabarchisi sifatida rivojlanayotgan roli”. O’Reilly Media. Arxivlandi asl nusxasidan 2010 yil 15 sentyabrda . Olingan 2 avgust, 2009 .
- ^“Oracle va Java”. oracle. Oracle korporatsiyasi. Asl nusxasidan 2010 yil 31 yanvarda arxivlangan . Olingan 23 avgust, 2010 . Oracle 1995 yilda paydo bo’lganidan beri Java-ning etakchi va muhim tarafdori bo’lib kelmoqda va ishtirok etish va shaffoflik jamoatchiligini rivojlantirishga qaratilgan tinimsiz majburiyat bilan Java texnologiyasining boshqaruvchisi sifatida yangi rolni o’z zimmasiga oldi. CS1 maint: BOT: original-url holati noma’lum (havola)
- ^Gosling, Jeyms (2010 yil 9-aprel). “Davom etish vaqti . “Yangi yo’lda. Asl nusxasidan arxivlangan 2010 yil 5-noyabr . Olingan 16-noyabr, 2011 . CS1 maint: BOT: original-url holati noma’lum (havola)
- ^ Mavzu, Dalibor. “Pluginsiz Internetga o’tish”. Arxivlandi asl nusxasidan 2016 yil 16 martda . Olingan 15 mart, 2016 .
- ^“Java texnologiyasi haqida bilib oling”. Oracle. Arxivlandi asl nusxasidan 2011 yil 24 noyabrda . Olingan 21-noyabr, 2011 .
- ^://www.oracle/java/technologies/java-se-support-roadmap.html
- ^“JAVASOFT SHIPS JAVA 1.0”. Arxivlandi asl nusxasi 2007 yil 10 martda . Olingan 5 fevral, 2008 .
- ^ Chander, Sharat. “Java SE 11 bilan tanishish”. oracle. Arxivlandi asl nusxasidan 2018 yil 26 sentyabrda . Olingan 26 sentyabr, 2018 .
- ^“Java Card haqida umumiy ma’lumot”. Oracle Technology Network. Oracle. Arxivlandi asl nusxasidan 2015 yil 7 yanvarda . Olingan 18 dekabr, 2014 .
- ^“Java Platform, Micro Edition (Java ME)”. Oracle Technology Network. Oracle. Arxivlandi asl nusxasidan 2015 yil 4 yanvarda . Olingan 18 dekabr, 2014 .
- ^“Java SE”. Oracle Technology Network. Oracle. Arxivlandi asl nusxasidan 2014 yil 24 dekabrda . Olingan 18 dekabr, 2014 .
- ^“Java Platform, Enterprise Edition (Java EE)”. Oracle Technology Network. Oracle. Arxivlandi asl nusxasidan 2014 yil 17 dekabrda . Olingan 18 dekabr, 2014 .
- ^“JVM (Java Virtual Machine) platformasi bog’liqmi yoki platforma mustaqilmi? JVM dan foydalanishning afzalligi nimada va Java tarjima qilingan til bo’lishi kerakmi?”. Programmer Interview. Arxivlandi asl nusxasidan 2015 yil 19 yanvarda . Olingan 19 yanvar, 2015 .
- ^ Jelovic, Dejan. “Why Java will always be slower than C++”. Arxivlandi asl nusxasi 2008 yil 11 fevralda . Olingan 15 fevral, 2008 .
- ^ Google. “C ++ / Java / Go / Scala-da tsiklni aniqlash” (PDF) . Olingan 12 iyul, 2012 .
- ^“Symantec’s Just-In-Time Java Compiler To Be Integrated into Sun JDK 1.1”. Arxivlandi asl nusxasidan 2010 yil 28 iyunda . Olingan 1 avgust, 2009 .
- ^ Salcic, Zoran; Park, Heejong; Teich, Jürgen; Malik, Avinash; Nadeem, Muhammad (July 22, 2017). “Noc-HMP: A Heterogeneous Multicore Processor for Embedded Systems Designed in SystemJ”. ACM Transactions on Design Automation of Electronic Systems. 22 (4): 73. doi:10.1145/3073416. ISSN1084-4309. S2CID11150290.
- ^“NullPointerException”. Oracle. Arxivlandi asl nusxasidan 2014 yil 6 mayda . Olingan 6 may, 2014 .
- ^“Exceptions in Java”. Artima. Arxivlandi asl nusxasidan 2009 yil 21 yanvarda . Olingan 10 avgust, 2010 .
- ^“Java HotSpot™ Virtual Machine Performance Enhancements”. Oracle. Arxivlandi asl nusxasidan 2017 yil 29 mayda . Olingan 26 aprel, 2017 .
- ^“Java HotSpot VM Options”. Oracle. 2010 yil 7 sentyabr. Arxivlandi asl nusxasidan 2011 yil 6 martda . Olingan 30 iyun, 2012 .
- ^“Garbage-First Collector”. docs.oracle. Arxivlandi asl nusxasidan 2016 yil 9 martda . Olingan 15 mart, 2016 .
- ^“Operator Overloading (C# vs Java)”. C# for Java Developers. Microsoft. Arxivlandi asl nusxasidan 2015 yil 7 yanvarda . Olingan 10 dekabr, 2014 .
- ^“Multiple Inheritance of State, Implementation, and Type”. Java ™ darsliklari. Oracle. Arxivlandi asl nusxasidan 2014 yil 9 noyabrda . Olingan 10 dekabr, 2014 .
- ^“Lesson: A Closer Look at the Hello World Application”. The Java™ Tutorials > Getting Started. Oracle korporatsiyasi. Arxivlandi asl nusxasidan 2011 yil 17 martda . Olingan 14 aprel, 2011 .
- ^“Deprecated APIs, Features, and Options”. www.oracle . Olingan 31 may, 2019 .
- ^“Applet (Java Platform SE 7 )”. docs.oracle . Olingan 1 may, 2020 .
- ^“What Is a JSP Page? – The Java EE 5 Tutorial”. docs.oracle . Olingan 1 may, 2020 .
- ^“Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials)”. docs.oracle . Olingan 1 may, 2020 .
- ^“Removed from JDK 11, JavaFX 11 arrives as a standalone module” . Olingan 13 oktyabr, 2020 .
- ^“Getting Started with JavaFX: Hello World, JavaFX Style | JavaFX 2 Tutorials and Documentation”. docs.oracle . Olingan 1 may, 2020 .
- ^“Java va Scala tizimlari ovozsiz” (PDF) . Arxivlandi (PDF) asl nusxasidan 2016 yil 28 noyabrda . Olingan 20 fevral, 2017 .
- ^ Arnold, Ken. “Generics Considered Harmful”. java. Archived from the original on October 10, 2007 . Olingan 10 sentyabr, 2015 . CS1 maint: BOT: original-url holati noma’lum (havola)
- . More comments to the original article available at earlier archive snapshots like .
- ^ Jelovic, Dejan. “Why Java Will Always Be Slower than C++”. www.jelovic. Arxivlandi asl nusxasi 2008 yil 11 fevralda . Olingan 17 oktyabr, 2012 .
- ^ Owens, Sean R. “Java va unsigned int, imzosiz kalta, imzosiz bayt, imzosiz uzun va hk (yoki aksincha, uning etishmasligi)”. Arxivlandi asl nusxasi 2009 yil 20 fevralda . Olingan 4-iyul, 2011 .
- ^ Kahan, William. “Qanday qilib Java-ning suzuvchi nuqtasi hamma uchun hammani azoblaydi” (PDF) . Electrical Engineering & Computer Science, University of California at Berkeley. Arxivlandi (PDF) from the original on September 5, 2012 . Olingan 4 iyun, 2011 .
- ^“Java-ni tekshirdingizmi?”. Arxivlandi asl nusxasi 2012 yil 21 sentyabrda . Olingan 23 dekabr, 2011 .
- ^ Cadenhead, Rogers (November 20, 2017), Understanding How Java Programs Work , olingan 26 mart, 2019
- ^ Woolf, Nicky (May 26, 2016). “Google wins six-year legal battle with Oracle over Android code copyright”. The Guardian. ISSN0261-3077 . Olingan 26 mart, 2019 .
- ^“Collections Framework Overview”. Java hujjatlari. Oracle. Arxivlandi from the original on December 31, 2014 . Olingan 18 dekabr, 2014 .
- ^“Java™ Security Overview”. Java hujjatlari. Oracle. Arxivlandi from the original on January 3, 2015 . Olingan 18 dekabr, 2014 .
- ^“Trail: Internationalization”. Java ™ darsliklari. Oracle. Arxivlandi from the original on December 31, 2014 . Olingan 18 dekabr, 2014 .
- ^“How to Write Doc Comments for the Javadoc Tool”. Oracle Technology Network. Oracle. Arxivlandi from the original on December 18, 2014 . Olingan 18 dekabr, 2014 .
- ^ Niccolai, James (January 24, 2001). “Sun, Microsoft settle Java lawsuit”. JavaWorld. IDG yangiliklar xizmati . Olingan 2020-07-13 .
- ^ van Gurp, Jilles (2007 yil 13-noyabr). “Google Android: dastlabki taassurotlar va tanqid”. Javalobby . Olingan 7 mart, 2009 . Ochig’ini aytsam, nega Google u erda mavjud bo’lgan ko’plab dasturlarni e’tiborsiz qoldirmoqchi ekanligini tushunmayapman. Menga bu erda “bu erda ixtiro qilinmagan” yomon ish kabi ko’rinadi. Oxir oqibat, bu asrab olishni sekinlashtiradi. Mobil dunyo uchun allaqachon juda ko’p Java platformalari mavjud va bu yana biri
- ^ Mullin, Joe. “Google guilty of infringement in Oracle trial; future legal headaches loom”. Qonun va tartibsizlik. Ars Technica. Arxivlandi from the original on May 8, 2012 . Olingan 8 may, 2012 .
- ^ Mullin, Joe (May 31, 2012). “Google wins crucial API ruling, Oracle’s case decimated”. Ars Technica. Arxivlandi asl nusxasidan 2017 yil 12 martda . Olingan 1 iyun, 2012 .
- ^ Rosenblatt, Seth (May 9, 2014). “Court sides with Oracle over Android in Java patent appeal”. CNET. Arxivlandi asl nusxasidan 2014 yil 10 mayda . Olingan 10 may, 2014 .
- ^ Mullin, Joe (May 26, 2016). “Google beats Oracle—Android makes “fair use” of Java APIs”. Ars Technica. Arxivlandi asl nusxasidan 2017 yil 20 yanvarda . Olingan 26 may, 2016 .
- ^ Farivar, Cyrus (March 27, 2018). ” ” Google’s use of the Java API packages was not fair,” appeals court rules”. Ars Technica . Olingan 6 avgust, 2019 .
- ^ Lee, Timothy (April 23, 2019). “Google Oliy suddan API mualliflik huquqiga oid halokatli qarorni bekor qilishni so’raydi”. Ars Technica . Olingan 23 aprel, 2019 .
Asarlar keltirilgan
- Gosling, James; Joy, Bill; Steele, Guy; Bracha, Gilad; Buckley, Alex (2014). The Java® Language Specification (PDF) (Java SE 8 tahr.). CS1 maint: ref = harv (havola)
- Gosling, James; Quvonch, Bill; Steele, Guy L., Jr.; Bracha, Gilad (2005). The Java Language Specification (3-nashr). Addison-Uesli. ISBN0-321-24678-0 .
- Lindxolm, Tim; Yellin, Frank (1999). Java virtual mashinasining spetsifikatsiyasi (2-nashr). Addison-Uesli. ISBN0-201-43294-3 .
Dasturlash tillari ro’yxati. Tillar past va yuqori darajali dasturlash
kompyuter texnologiyasini ishlab chiqish hali ham turgan emas va doimo usullarini takomillashtirish va dasturiy metodlarni va dasturlash tillariga sifatida. zamonaviy kompyuter va ularning tasnifi sohasida mavjud nima tillar ko’rib chiqaylik.
Umumiy ma’lumot
dasturlash tillari ro’yxati to’liq tarqalgan, shuning uchun keng va xilma-xil bo’ladi – bir vazifa deyarli imkonsiz. Barcha tillar orasida uch asosiy guruhga ajratish mumkin:
- mashinasozlik (past darajadagi dasturlash tillari);
- mashina-yo’naltirilgan (birlashtiruvchi);
- mashina-mustaqil (yuqori darajali);
zamonaviy dasturiy ta’minotni ishlab chiquvchilar orasida eng mashhur quyidagi asosiy dasturiy tillar. mashhurlik ozayib ro’yxati:
dasturlash tillari Ushbu ro’yxat to’liq bo’lishdan uzoq, lekin bir ish uchun programcı talab qilishi mumkin bilim qaysi eng mashhur tillari hisoblanadi. Ular barcha oliy darajadagi dasturlash tillari mavjud.
dasturlash asoslari
Past darajadagi dasturlash – bu siz hisobga turini va protsessori imkoniyatlarini olish talab tillar mavjud. Operatorlar va bunday dasturlash tillari operatsiya usullari, ular kompyuter xotirasi bilim talab va protsessor unga o’giriladi, mashinasozlik kodi etarlicha yaqin.
Bu turli past-darajali dasturlash tillari qo’ng’iroq qilish qiyin. Assembler – ro’yxati hali tilida biri ustunlik uchun kamayadi. Bu mashina kodi yaqin sanoq sistemasida dasturlari kodlari qilish imkonini beradi beri, assembler kabi operatsion tizimlar, qurilma drayveri sifatida tizimi dasturiy ta’minot yozish uchun faqat ishlatiladi va nazorat chip kodlar dasturlashning.
Bunday dasturlash tillari salbiy ular muayyan qurilmaga maxsus vazifalarni bajarish uchun dasturda yozilgan, deb, va ularning ijro boshqa bir protsessor o’tkazish taqdirda mumkin emas.
dastur rivojlantirish
dasturlash tillari ro’yxati maxsus dasturlar, shuningdek ishlab chiqish va maxsus dasturiy ta’minot bajarilishini ob’ektlar minglab ega yaratish. Qanday tufayli muayyan bir til turli vazifalarni hal qilish uchun mos ekanligiga bunday turli tushunish uchun.
Bu dasturiy tillar alohida guruh aniqlanadi qaramay, ularning amalga oshirilishi, mashinasozlik kodi bo’lib o’tadi. tarjimonlar – layn va maxsus dastur yordamida mashina kodi tarjima tayyor tomonidan dasturi liniyasi amalga oshirish uchun. bir til kodi tarjima jamoalarini amalga holda amalga oshiriladi bo’lsa, u holda bu dastur derleyiciler bilan shug’ullanadi. Umuman, boshqa bir rasmiy dasturlash tilida yozilgan dasturlarni tarjima qilish uchun mo’ljallangan dasturlar, tarjimonlar chaqirdi.
ko’proq yuqori darajali dasturlash tillari ko’rib chiqaylik. ro’yxati faqat eng mashhur har haqida bir necha tafsilotlarni yozib bo’lmaydi bo’ladi.
SQL
birinchi navbatda, ma’lumotlar bazasi boshqarish tizimlari va dasturiy ta’minot bilan foydalanish uchun mo’ljallangan ixtisoslashtirilgan dasturlash tili. SQL deb tarjima “ixtisoslashtirilgan so’rovlar tili.” DBMS bozorining so’nggi o’n yil ko’p marta o’sdi boshlab, til mashhurlik kutilmagan bo’lmaydi.
tilida kelajagi haqida turli xil fikrlar mavjud. Albatta u İlişkisel yaratish uchun texnologiya deb hisoblanadi bazasini balandlikda edi, lekin uning vaqti tugab bormoqda. qayta ma’lumotlar hajmi tobora oshib borayotganida munosabati bilan rivojlantirish uchun ehtiyoj ekanligini insoniyat shunchaki kelajakda post-ilişkisel ilişkisel texnologiya zarur o’tish ishonish mutaxassislar keladi, lekin mavjud ma’lumotlar banklar bilan mosligini asrab-avaylash maqsadida.
Javascript
O’ngda ikkinchi yirik oliy darajadagi dasturlash tillari hisoblanadi. o’rganish oson, foydalanish oson. Fitness dasturlash otasi nisbatan ko’paydi dunyo bo’ylab millionlab odamlar bu tilda bilan ishlash Aslida olib keladi. maxsus muhitda axborot katta miqdorda band va tayyor o’ziga xos amalga oshirish, atrof-muhit va rohatlariga mumkin dasturlari va amaliy dasturlar yaratish uchun moslashtirilgan C ++ asosida ob’ekt yo’naltirilgan til, mahsulot.
Java texnologiyasi – cheklanmagan miqdorda super uchun Wi-Fi telefonlar orqali tarmoqqa ulanish eng turli kalibrli tizimini birga bog’langan mumkin infratuzilma kompaniya va kompaniya oshirish imkonini beradi asosidir.
XML
HTML bir avlodi, bu texnologiya bir Kengaytirilgan gipermatnli belgilash tili hisoblanadi. Bu hujjatlar talqin odatiga qilingan. unda murakkab o’zgartirish va almashtirish hujjatlarni amalga oshirish uchun. XML uzatish uchun ishlatiladi va do’kon ma’lumotlar vaqtincha Internet orqali turli İlişkisel ma’lumotlar bazalari bilan ishlashda.
XML allaqachon bu korxona tarmoq texnologiyalari uchun muhim deb da’vo mumkin darajaga yetdi.
Biz rus tilida dasturlashingiz
Eng mashhur dasturlash tillari ingliz tili so’z foydalanish. Biroq, bir-biridan bu kelgan, shuningdek, rus dasturlash tillari bor. Rossiya kichik va ro’yxati mavzu sohada ular ishlatiladi bo’lgan, juda ixtisoslashgan. Mana, bir necha misol.
- 1C: Enterprise. butun tizimi faoliyatining barcha sohalarida tashkil boshqarish uchun mo’ljallangan. Ko’pincha, xodimlar uchun qidiruv e’lonlar uchratish mumkin “1C Programcısı”.
- fe’l. Paskal Ingliz-tili analog.
- Robić. bolalarga dasturlash asoslarini o’rgatish uchun mo’ljallangan ixtisoslashtirilgan dasturlash tili.
- Rapira. Jadal tartib asosida, til kiritgan.
Ko’rib turganingizdek, tillarda ro’yxati har qanday sinflar va ro’yxatlarini qamrab mumkin emas, shuning uchun turli xil. Agar noprofessional yoki professional darajada dasturiy qilish uchun qaror qilsangiz, keyin bu programcısı esda – nafaqat bilim, balki farasingiz, tasavvur, sezgi, va omad, hatto bir oz ichiga oladi ijodiy kasb.
O’ZBEKISTON RESPUBLIKASI
ICHKI ISHLAR VAZIRLIGIIdoralararo ishchi guruhning Fargʻona viloyati hududidagi mahallalarda xavfsiz muhitni yaratish, maktab oʻquvchilari, talabalar, ayollar va yoshlar orasida qonunga itoatkorlik hissini shakllantirish ishlari amalga oshirilmoqda
Jumladan, tadbir jarayonida ishchi guruh mutasaddilari, viloyat prokuraturasi va majburiy ijro byurosi bilan hamkorlikda voyaga yetmaganlarni moddiy taʼminlash yoʻnalishi oʻrganilib, ayni vaqtda 387 ta aliment undiruvi qarzdorlari aniqlandi. Ularning barchasi boʻsh ish oʻrinlari mehnat yarmarkalari orqali ishga joylashtirilib, aliment undiruvi qarzdorlarning oylik ish haqlariga qaratildi.
Shuningdek, qarzdorlardan jami 7 mlrd. soʻm aliment pulini undirishga erishildi.
Bundan tashqari, aliment qarzini toʻlashdan boʻyin tovlagan 296 nafar qarzdorga MJtKning 47 4 -moddasi bilan maʼmuriy chora koʻrildi.
Oʻrganish davomida notinch boʻlgan 439 ta oiladagi muhit oʻrganilib, mavjud muammolarni bartaraf etish yoʻli bilan 501 nafar voyaga yetmaganlar oila bagʻriga qaytarildi.
Galaxy eksklyuzivlari
Faqat Galaxy qurilmalarida mavjud bo‘lgan foydali vositalar va dasturlar
Ulanuvchanlik
S Pen
Epik standartiga xush kelibsiz
Mislsiz standartni o‘rnatgan birinchi odam bo‘ling. Galaxy S23 Ultra
Galaxy S23 Ultra telefonini TRʻda ko‘ring
ARʻDA OCHISH
NEGA GALAXY?
Hayot Galaxy telefoni bilan kashf etilib boradi
Biz telefonlarimizning hayot bosqichlari haqida qayg‘uramiz. Mahsulotlarimiz boshqalardan nafaqat hayotingizni, balki dunyoni o‘zgartirish uchun ishlab chiqarilayotgani bilan farq qiladi.
*Bu yerda taqdim etilgan barcha texnik xususiyatlar va bayonlar mahsulot uchun haqiqiy bo‘lgan texnik xususiyatlar va bayonlardan farq qilishi mumkin. Samsung bunday o‘zgarish to‘g‘risida bildirishnoma berish majburiyatisiz istalgan vaqtda ushbu hujjat va bu yerda taqdim etilgan mahsulotga o‘zgartirishlar kiritish huquqini o‘zida saqlab qoladi. Ushbu hujjatda taqdim etilgan barcha bajariladigan funksiyalar, xususiyatlar, texnik ko‘rsatmalar, GFI va mahsulot haqidagi boshqa ma’lumotlar, jumladan, mahsulotning afzalliklari, dizayni, narxi, komponentlari, ishlashi, mavjudligi va imkoniyatlari hech qanday bildirishnoma yoki majburiyatlarsiz o‘zgartirilishi mumkin. Ekran doirasidagi kontentlar modellashtirilgan rasmlardir va ular faqat namoyish etish maqsadlarida ishlatiladi.
MENING TARMOQ TEZLIGIM
– Yuqori chastotalar polosasi rejimi – Past chastotalar polosasi rejimi
Dasturlash tillari va ularning klassifikatsiyasi. “Informatika o’qitish metodikasi”
2. Borland C++ Builder tilining dastur yaratish muhiti.
3. Borland C++ Builder tilining boshqa dasturlash tillaridan farqi.
4. Delphi dasturlash tilining asosida Pascal tili.
Kirish Biz bu taqdimotimizda barcha yuqori darajali dasturlash tillari haqida va ularning hossalari haqida toliq ma’lumot berib otamiz. Barcha dasturlash tillari har xil kompyuterlar, telefonlar va hattoki kundalikli hayotimiz uchun kerakli dasturlar tuzish uchun kerak. Hozirgi kunda dasturlash tillarining turlari kop. Bu dasturlash tillari qanaqa dastur ishlab chiqishga qarab tanlashimiz mumkin. Hozirgi kunda yuqori darajadagi dasturlash tillari C++, Delphi, Java, Pascal tillari mavjud. Biz bu dasturlash tillarining hossalari va ularning bir-biridan farqlari haqida soz yuritamiz. Bu dasturlash tillarida har xil hisoblash ishlarini ham amalga oshirish mumkun. Bu ishlarini ham biz taqdimotimizda ko’rsatishga harakat qilganmiz. Dasturlash – kompyuterlar va boshqa mikroprosersorli elektron mashinalar uchun dasturlar tuzish, sinash va oʻzgartirish jarayonidan iborat.
Endi bizning oldimizda algoritmlarni EHM tushinadigan tilda yozish masalasi turadi, buning uchun maxsus algoritmik tillar mavjud. EHM paydo bo‘lganidan beri juda ko‘plab algoritmik tillar yaratilgan. Ularni shartli ravishda uch tipga ajratish mumkin: – Quyi darajadagi programmalash tillari (mashina tillari) – O‘rta darajadagi programmalash tillari – Yuqori bosqichli programmalash tillari
O‘rta darajadagi programmalash tillarida amallar va buyruqlarni (komandalar)ni ifodalash uchun odam tushunishi uchun qulay bo‘lgan har xil qisqartma so‘zlardan foydalaniladi. Bunda ham programma tuzuvchi EHM qurilmalari adreslari bilan ishlashi lozim. Bu qisqartmalar-mnemokodlar deyiladi, bu turdagi programmalash tillari assemblerlar deb ataladi. Yuqori darajadagi programmalash tillarida ko‘rsatmalar inson tiliga yaqin bo‘lgan so‘zlar va birikmalardan iborat bo‘lib, programma tuzish uchun juda qulay va biror maxsus amallardan tashqari hollarda adreslar va qurilmalar bilan bevosita bog‘liq ko‘rsatmalarni bilish zarur emas. Yuqori bosqich programmalash tillariga misol sifatida FORTRAN, Algol, RL-1, BASIC, PASCAL, C, C++, tillarini keltirish mumkin.
Dasturlash tillari
Informatsion texnologiyalarining jadal suratlar bilan rivojlanishi, Internetning paydo bo‘lishi, yangidan yangi va ma’lum maqsadlarga mo‘ljallangan programmalash tillari va muhitlari yaratildi va yaratilmoqda. Ularga misol sifatida dBase, KARAT, LISP, FoxPro, Simula, Delphi, Visual Basic, Visual C++ HTML, Java, Java Script kabi tillar va programmalash muhitlarini keltirish mumkin. Hozirgi kunga kelib obyektga yo‘naltirilgan va vizual programmalash texnologiyalari keng tarqalmoqda. Har bir algoritmik tilning o‘z alfabiti maxsus belgisi va birikmalari, operatorlari, konstruksiyalari bo‘ladi va ular ma’lum bir sintaktik va semantik qonun qoidalarga buysinadi.
C++ Builder dasturlash tili. Xozirgi vaqtga kelib komp`yuter olamida ko’plab dasturlash tillari mavjud. Paskal, C++, Delphi va boshqa dasturlash tillaridir. C++ dasturlash tili universal tildir. U UNIX sist emasi bilan bog`langan bo`lib, bu sistemada ishlatiladigan bir qancha dasturlar C++ tilida yozilgan. C++ Denis Ritchi tomonidan 1972 yili UNIX tipidagi op erasion sist emalarini yaratish uchun loyihalashtirilgan. Borland C++ dasturlash tili Windows uchun mo’ljallangan bo’lib, uning birinchi versiyasi Windows operatsion sistema qobig’ida ishlagan. Borland C++ dasturlash tili – bu dasturlarni qayta ishlash muxiti bo’lib, Windows operatsion sistemasida ishlaydi.
Borland C++ dassturlash tili turli xolat protseduralarini qayta ishlash va dasturlarni qayta ishlashda vaqtdan yutish va boshqalarni o’z ichiga oladi. Dastur yaratish muhiti Dastur yaratish umumlashgan muhiti Redaktor form – Shakllar muharriri, Inspektor ob’ektov – Ob’ektlar inspektori, Palitra komponentov – Komponentlar palitrasi, Administrator proekta – Proekt administratori va to’la umumlashgan Redaktor koda – Kodlar muharriri hamda kodlar va resurslar ustidan to’liq nazoratni ta’minlaydigan , dastur ilovalarini tezkor yaratadigan Otladchik – instrumentov – Sozlashinstrumentlari kabilarni birlashtiradi.
Paskal programmalash tili N. Virt (Shveytsariya Informatika instituti professori) tomonidan 1968 yilda yaratilgan. 1992 yilda Borland firmasi Paskal tilining SHEHMdagi MS-DOSda amal g‘iluvchi Turbo-Pascal programmalash paketlarini chiqardi. TP juda keng tarqaldi va programmalash tarixida foydalanuvchilar sonining oshish sur’ati bo‘yicha bu tilga teng keladigani yo‘q. Buni Paskal tilida algoritmlarning fundamental va eng muhim konsepsiyalarining oydin va tushunishga oson shaklda berilganligi bilan tushintirish mumkin. Programma tuzish paytida programma tuzuvchi uning ixtiyoriga programmalash tili tomonidan beriladigan kategoriyalar bilan fikr yuritadi.
Paskal tilini yaratishda ikki maqsad nazarda tutilgan: tushinarli va tabiiy ravishda ifodalangan bir qator fundamental tushunchalarga asoslangan programmalashni o‘rgatishga qulay bo‘lgan tizimli predmet sifatida yaratish; mavjud bo‘lgan hisoblash mashinalarida tilni ishlatishning ishonchliligi va samaradorligi. Paskal programmalash tili eng muhim ikkita tamoyilga asoslangan: – strukturali programmalash tamoyili (unga klassik strukturali programmalashning asosiy boshqaruvchi strukturalarini amalga oshirish vositalari kiradi); – ma’lumotlarni tashkil qilishning strukturali tamoyili (u K. Xoar tomonidan taklif etilgan strukturali turlarning to‘liq to‘plamini oddiy o‘zgaruvchilar, massivlar, ketma-ket fayllar, yozuvlar, variantli yozuvlar, ko‘rsatkichlar va undan berilganlarning yangi turlarini yaratishning taraqqiy topgan vositalarini o‘z ichiga oladi);
Paskal programmalash tili, zamonaviy programmalashda muhim ahamiyatga ega bo‘lgan, programmalarning to‘g‘riligini isbotlovchi analitik usullarning taraqqiy topishida katta rol o‘ynadi. U hozirgi kungacha programmalashning to‘g‘riligini isbotlashga imkon beradigan programmalash sistemalariga ega bo‘lgan yagona tildir. Paskal programmalash tili, programmaning qismlari yoki butun programma to‘g‘risida turli xil mulohazalarni isbotlashni ta’minlaydigan, yaxshi matematik apparatga asoslangan. K. Xoarning aksiomatik sistemalari yordamida ifodalanadi. Programmalarni ishlashini “sozlash”ning eski usullari o‘rniga, hozirgi paytda paydo bo‘layotgan programmalarning to‘g‘riligini tekshiradigan avtomatik sistemalardan foydalanish maqsadga muvofiqdir.
1982 yil A. Eddiman rahbarligidagi ishchi guruh tomonidan Paskal programmalash tilining Britaniya standarti yaratildi, u bugungi kunda xalqaro standartga ham aylandi. Programmalash tillari sun’iy tillar hisoblanadi, ularda sintaksis va semantik qoidalar qat’iy aniqlangan bo‘ladi. Shu sababli Programmalash tillari tabiiy tillardan farqli ravishda jumlalarni ko‘pmazmunli va erkin talqin etishga yo‘l qo‘ymaydi. Buning asosiy sababi tildagi har bir ko‘rsatma mashina tilidagi aniq bir buyruqqa o‘tadi. Sintaksis-bu qoidalar to‘plami bo‘lib, Programmalash tilida ruxsat etilgan belgilarning ketma-ketligi va asosiy ichki tuzilishni aniqlaydi. Semantika-til birliklariga (so‘z, so‘z birikmalari, jumlalariga) beriladigan qiymatlardir. EHMlar endi yuzaga kelgan paytda programma tuzishda, faqat mashina tillarida, ya’ni sonlar yordamida EHM bajarishi kerak bo‘lgan amallarning kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq sistemalari bo‘lgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan.
Obyektga yo‘naltirilgan tillarning yaqqol namunasi – bu Delphi vizual programmalash muhitidir. Bu muhit Turbo Paskal tili asosida yaratilgan bo‘lib, unda programma yaratish muhitidagi mavjud komponentalarni loyihalash asosida bo‘ladi. Shuning uchun ham bosh programma Rgoject deyiladi. Delphining yana bir muhim xususiyati vizual programmalashdir, ya’ni programma yaratilayotgan paytda tuzuvchi hosil bo‘ladigan programma shaklini ko‘rib turadi va grafik interfeys yordamida komponentalar shaklini o‘zi ma’qul topgan joyiga qo‘yishi mumkin. Visual Basic tili ham obyektga moslashgan til hisobalanadi va Windowsning ofis programmalarida makroslar yozish uchun til sifatida ishlatiladi.
Java tili kompyuter tarmoqlarida amal qiladigan programmalarni yaratishga mo‘ljallangan, ya’ni Java tilida yozilgan programmalar global tarmoqlarda dinamik reklamalarni (animatsiya, teletayp lentalari) global tarmoqda joylashtirish uchun ishlatiladi, Java tilining afzalligi shundaki, u turli operatsion sistemalarda ham birdek amal qilaveradi. Java programmasi bir paytda Windows, UNIX va Macintosh operatsion sistemalarida ishlashi mumkin. Quyidagi jadvalda programmalash tillari haqida ma’lumotlar keltirilgan.
Xulosa Bugungi kunga kelib axborot texnologiyalari juda shiddad bilan rivojlanib ketmoqda. Yuqori darajali dasturlash tillarini kunnan kunga har xil versialari oylap topilmoqda. Bundan maxsad insonlarning dastur tuzish paytida eng birinshi orinda vaqtini tejash undan keyin esa qulaylilik yaratish hisoplanadi. Bugungi kunga kelip C++, Delphi, Pascal dasturlash tillari mavjud ekan. Bu dasturlash tillari orqali axborot texnolagiyalari boyisha harqanday maumualarni hal etish mumkun. Delphi dasturlash tilining asosini esa Pascal dasturlash tili tashkil etar ekan. Buning sababi esa Pascal tilini takomillashtirish bolip hisoplanadi. Bu takomillashtirish natiyjasida esa yangi bir Delphi dasturlash tili juvudga keldi. Bu yuqori darajali dasturlash tillari ishida C++ dasturlash tili juda kata ahamiyatga ega ekan. Saba bu dasturlash tilida ishlash ansha qulay eng ahamiyatliysi C++tili mashina kodiga juda yaqin hisoplanadi.
Foydalanilgan adabiyotlar 1. Бьярн Страустрап. Введение я язык С++ 2. Крис Паппас, Уильям Мюррей. Программирование на С и С++ “Ирина”, BHV, Киев 2000г 3. Фридман Александр Львович, Язык программирование С++ 4. Aripov M.M., Imomov T., Irmuhamedov Z.M. va boshqalar. Informatika.5.Axborot texnologiyalari. Toshkent, 1-qism. 2002, 2-qism. 2003 Foydalanilgan elektron saytlar: http://wwwcity.kiev.ua/ http://www.intuit/
Do’stlaringiz bilan baham:
Ma’lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar 2023
ma’muriyatiga murojaat qiling
Java (dasturlash tili) – Java (programming language)
Ushbu maqola dasturlash tili haqida. Dasturiy ta’minot platformasi uchun qarang Java (dasturiy ta’minot platformasi). Java saytidan yuklab olingan dasturiy ta’minot to’plami uchun qarang Java platformasi, Standard Edition. Boshqa maqsadlar uchun qarang Java (ajralish).
“Java tili” bu erga yo’naltiriladi. Bu bilan aralashmaslik kerak Yava tili.
Buni chalkashtirib yubormaslik kerak JavaScript.
Ob’ektga yo’naltirilgan dasturlash tili
Java SE 15 [2] / 2020 yil 15 sentyabr ; 2 oy oldin ( 2020-09-15 )
Java a sinfga asoslangan, ob’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 [yangilash] , 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.