Bosh sahifa Wiki Java

Java

Java — Sun Microsystems kompaniyasida 1995-yilda Jeyms Gosling boshchiligidagi jamoa tomonidan yaratilgan, obyektga yo’naltirilgan dasturlash tili. Uning asosiy shiori — “bir marta yoz, istalgan joyda ishlat” (write once, run anywhere), bu esa Java Virtual Machine (JVM) mavjud bo’lgan har qanday qurilmada bir xil kodni ishga tushirish imkonini anglatadi.

JVM va bayt-kod

Java manba kodi to’g’ridan-to’g’ri protsessor buyruqlariga emas, balki platformadan mustaqil bayt-kodga (.class fayllar) kompilyatsiya qilinadi. Ushbu bayt-kodni istalgan operatsion tizimda o’rnatilgan JVM bajaradi. Bu yondashuv Windows uchun yozilgan Java dasturini qayta kompilyatsiyasiz Linux yoki macOS‘da ishga tushirish imkonini beradi, JVM mos versiyasi mavjud bo’lishi sharti bilan.

Xotira boshqaruvi

Java dasturchidan xotirani qo’lda ajratish va bo’shatishni talab qilmaydi — bu vazifani Garbage Collector avtomatik bajaradi, foydalanilmayotgan obyektlarni topib, ulardan egallangan xotirani qaytaradi. Bu C yoki C++ tillariga xos bo’lgan xotira sizib chiqishi (memory leak) va noto’g’ri havolalar kabi muammolarning oldini olishga yordam beradi, garchi Garbage Collector ishlashi ba’zan qisqa muddatli to’xtashlarga (pause) sabab bo’lishi mumkin.

Enterprise dunyosidagi o’rni

Java bank tizimlari, sug’urta kompaniyalari va yirik korporativ dasturiy ta’minotda keng qo’llaniladi, chunki til barqarorlik, xavfsizlik va uzoq muddatli qo’llab-quvvatlashga urg’u beradi. Spring freymvorki Java’dagi eng mashhur backend yechimlaridan biri bo’lib, dependency injection va katta hajmdagi tizimlarni modulli qurish imkonini beradi. Android ilovalarini ishlab chiqishda ham Java uzoq yillar asosiy til bo’lgan, garchi hozirda Google Kotlin‘ni afzal ko’rsa-da.

Versiyalash tizimi

2018-yildan boshlab Oracle Java’ning yangi versiyalarini har olti oyda chiqarish tartibiga o’tdi, ammo korporativ foydalanuvchilar odatda uzoq muddatli qo’llab-quvvatlanadigan (LTS) versiyalarga, masalan Java 8, 11, 17 yoki 21’ga tayanadi. Bu tartib tilning tezroq rivojlanishiga imkon bergan bo’lsa-da, eski loyihalarni yangilash bilan bog’liq murakkabliklarni ham keltirib chiqargan.

Cheklovlari

Java’ning ko’p so’zlilik (verbosity) muammosi ko’pincha tanqid qilinadi — oddiy vazifani bajarish uchun ham nisbatan ko’p qator kod yozish talab etiladi, bu Python yoki Kotlin kabi tillarga nisbatan farq qiladi. JVM’ning ishga tushish vaqti va xotira sarfi ham engil skriptlar yoki kichik xizmatlar uchun ortiqcha bo’lishi mumkin, garchi GraalVM kabi vositalar bu muammoni qisman hal qilishga harakat qilmoqda.

Bog’liq tushunchalar

JVM, Bayt-kod, Garbage Collector, Kotlin, Spring, Obyektga yo’naltirilgan dasturlash, Android