☕️ Java BACKEND developers </>☕️
185 subscribers
89 photos
148 videos
34 files
212 links
Download Telegram
#SAVOL
Classloder nima?

#JAVOB
ClassLoader - class yukloVchisi deb tarjima qilinadi.

ClassLoader in Java is a class that is used to load class files in Java

ClassLoader bu java class bo'lib u runtime da (ish vaqtida) Java class fayllarini dinamik ravishda JVM ga yuklash uchun ishlatiladi.

ClassLoader lar JRE (Java Runtime Environment) bir qismi dir.

ClassLoader sababli JVM java dasturini ishga tushurish uchun fayllar yoki fayl tizimlari haqida bilishi shart emas

Bundan tashqari Java Class larining barchasi birdaniga xotiraga yuklanmaydi ular kerakli paytda yuklanadi. Shu holatda ClassLoader lar ishga tushadi. Ular class larni xotiraga yuklash uchun ishlatiladi.

Biz bilamizki. Javada kodlari javac compiler orqali class file larga kompliyatsiya qilinadi. Bu class fayllarda byte kodlar bo'ladi. Jvm shu class fayllaridagi byte kodlarni ishga tushurish orqali Java dasturini ishga tushuradi. Endi Class loader shu class file larni yuklab JVM ga taqdim etadi.

Javada 3ta defaul classLoader mavjud.
Ular:

Bootstrap ClassLoader: Loads class from JRE/lib/rt.jar
Extension ClassLoader: Loads class from JRE/lib/ext
Application ClassLoader: Loads class from CLASSPATH environment variable

Static vs. Dynamic Class Loading

Static Class loading (static ravishda class larni yuklash) da - Class class lar new kalit so'zi orqali yuklanadi.

Dynamic class loading (dinamik ravishda class larni yuklash) da - Class lar runtime da Class.forName() metodi orqali yuklanadi.


Difference between loadClass() and Class.forName()

loadClass() va Class.forName() ning farqlari

loadClass() metodi classni yuklaydi ammo uni initilize qilmaydi. Class.forName() metodi class ni yuklaydi va uni initilize qiladi.

MANBA
👍4
#SAVOL
Local vs Global o'zgaruvchilar nima?

#JAVOB
Global degani ommaviy degan ma'noni beradi. Global o'zgaruvchilar metoddan tashqarida yozilgan o'zgaruvchilar dir.
Local degani mahalliy degan ma'noni beradi. Local o'zgaruvchilar metodni ichida yozilgan o'zgaruvchilar dir.


Local o'zgaruvchilar metodni ichida yaratiladi.
local o'zgaruvchilar default qiymatini olmaydi.
local o'zgaruvchilar yaratilganda ularga qiymat berish kerak.

Agar global o'zgaruvchiga qiymat berilmasa u o'zining default qiymatini oladi.
default degani boshlangich degan ma'noni beradi. Ya'ni o'zgaruvchi yaratildimi demak u band qilgan xotirada o'sha tipni o'zini boshlang'ich qiymati bo'ladi.
Javada barcha primitive o'zgaruvchilarni o'zini default qiymati bor.


Default Qiymatlar.
boolean - false
byte - 0
char - \u0000
short - 0
int - 0
long - 0
float - 0.0
double - 0.0

MANBA
#SAVOL

Quyidagi main metodi ishga tushurilsa konsolga nima chiqadi?

#JAVOB

200dasturlash.uz
dasturlash.uz100100
dasturlash.uz50
10dasturlash.uz
#SAVOL

while bilan do while ning farqi?

#JAVOB

do while da oldin tana qismi bajariladi va keyin ifodasi tekshiriladi.

while da oldin ifodasi tekshiriladi va keyin tana qismi bajariladi
#SAVOL

break va continue ? Nima ish qiladi? Farqlari?


#JAVOB
Break so'zini o'zbekchaga tanaffus yoki sindirish deb tarjima qilsak bo'ladi. Javada break ni sindirish/to'xtatish ma'nosini ishlatsak ham bo'ladi.

Break switch yoki sikl (loop) lar bilan ishlatiladi.

Break sikl operatorlari bilan ishlatilganda hozirgi siql operato'rni to'xtatib shu operatordan chiqib ketish uchun ishlatiladi.


Continue so'zini o'zbekchaga davom ettirish deb tarjima qilsak bo'ladi. Sikllarda continue ni bu qadamni to'xtatib keyingi qadamga o'tish deb tushunsak bo'ladi

Continue sikl operatorlari bilan ishlatilganda siklning shu aylanishini (ko'rsatgichini ) to'xtatib keyingi aynalishga (ko'rsatgichga) o'tishni anglatadi.

Continue faqatgina siklning hozirgi qadamini to'xtatib keyingi qadamga o'tkazib yuboradi.
Break esa sikl ni to'xtatar edi.
Continue va breakning farqi shunda.
#SAVOL

Array nima?

#JAVOB

Array so'zini massiv deb tarjima qilinadi.
Array da bir vaqtni o'zida bir nechta qiymatni saqlasak bo'ladi.
Array ni shkafga o'xshatsak uning har bir javonida qandaydir ma'lumotni ushlab tursak bo'ladi.
Har bitta javon o'zining indeksiga (nomeriga) ega.
Indeks deganda o'sha javonning tartib raqami nazarda tutilyapdi.
O'sha indeks orqali shu javondagi qiymatni olish yoki qiymatni o'zgartirish mumkin.

Array yaratish
Sintaksis

type [] o'zgaruvchi_nomi = {qiymat_1,qiymat_2,qiymat_3,...}; // namuna_1

type [] o'zgaruvchi_nomi = new type [elementlar_soni]; // namuna_2

type [] o'zgaruvchi_nomi = new type []{qiymat_1, qiymat_2, qiymat_3,...}; // namuna_3

Asosiy 3 ta usul mavjud.
type bu tip (turi) degani. Yani Array yaratishdan oldin uni qaysi tip (int,long,doubl,float,char, String, va h.k) uchun yaratishni yozishimiz kerak. masalan int desak bunda butun sonlar uchun array yaratiladi.
[ ] bu ishora arrayning ishorasidir. Shu ishora yozilsa biz bu o'zgaruvchi array ekanligni bilib olsak bo'ladi.
o'zgaruvchi_nomi bu bizda qandaydir nom. Yani shu o'zgaruvchining nomi.
namuna_1 da {...} kovuslar orasiga qiymatlar yoziladi. Yani array yaratilganda unda shunday o'zgaruvchilar mavjud bo'ladi.
new bu javada kalit so'z hisoblanadi. Ma'nosi yangi ob'ekt yaratish uchun ishlatiladi. Array larda yangi array yaratish uchun ishlatiladi.
namuna_2 da elementlar soni nechidir songa teng bo'lgan bo'sh array yaratildi. Deylik elementlar_soni 10 ga teng bo'lsa demak elementlar soni 10 teng array yaratiladi. Yoki uzunligi 10ga teng desak bo'lgan array yaratildi.
namuna_3 da qo'shimcha tarzda array tipi yozilyapdi va qiymatlar berilyapdi bu huddi namuna_1 va namuna_2 ni aralashmasi deyilsa bo'ladi.

Maqolani davomini o'qish
#SAVOL
Ko'p o'lchovli array (matrix)?


#JAVOB
Multidimensional Array ni o'zbekchaga tarjima qiladigan bo'lsak ko'p o'lchovchi massive degani. Manosi array ichidagi array nazarda tutilgan. Oddiyroq qilib aytganda matritsa deb aytsak bo'ladi.

Multidimensional array da elementlar qator va ustunlarga bo'lingan.
Har bitta elementning o'zini ustini va qatori bo'ladi.
Qatorlar va Ustunlar 0 dan boshlanadi.
2 qator bor degani demak 0,1 qatorlar bor degani

x[qator][ustun]

Maqolani o'qish
👍1
#SAVOL

Method nima?
U nimaga kerak?

#JAVOB

Method so'zi tarjima qilinmaydi. o'zbekchada ham method deb ishlatib ketaveramiz.

Method boshqa dasturlash tillarida function (funksiya) deb ataladi. Function ni funksiya deb tarjima qilsak bo'ladi.
Method chaqirilganda ishga tushadigan kodlar bloki (to'plami) hisoblanadi va ular qandaydir vazifani bajaradi.
Methodlar ma'lumotlarni parametr sifatida qabul qilib oladi.
Methodlar chaqirilgandan keyin qandaydir ma'lumotni return (qaytarishi) mumkin.
Methodlar class ichida yoziladi.
Har bitta methodni o'zini vazifasi bo'ladi. Shu method chaqirilganda o'sha vaziva bajariladi.
Java da juda ko'p foydali methodlar bor. Ularga qo'shimcha o'zimiz ham metodlar yozsak bo'ladi.

->Davomi<-
👍5
#SAVOL
Method overload nima?

#JAVOB

Method overload ni o'zbekchada metodga xaddan tashqari yuk yuklash deb tarjima qilsak bo'ladi. Ammo bu yaxshi tarjima emas. Shuning uchun tarjima qilmaymiz.Manosi: Method overloading deganda JAVAda nomi bir xil bo'lib qabul qiluvchi parametrlar soni yoki turi(type) har xil bo'lgan metodlar nazarda tutiladi va ular overloaded metods deyiladi.

Method overloading qoidalar.

-Metod nomi bir xil bo'lishi kerak
-Metod qabul qiladigan paramertlar soni yoki tiplari har xil bo'lishi kerak.
-Metod qabul qiladigan parametrlar nomi qanday bo'lishi ahamiyatga ega emas.
-Return type(qaytarish turi) bir xil yoki har xil bo'lishi mumkin.

->Maqolani o'qish<-
#SAVOL

OOP nima ?

#JAVOB

OOP - Object Oriented Programming ya'ni ob'ektga asoslangan dasturlash deb tarjima qilinadi. OOP bu qisqartmasi.

OOP bu Ob'ektga asoslanga dasturlash bo'lib dasturlash davomida asosan ob'yekt lardan foydalaniladi.

Code yozish uchun oson.
Yozilgan kodlarni tushunish , o'zgartirish oson.
Bitta yozilgan kodni qayta ishlatish mumkin.
Parallel dasturlashni imkonini beradi. Ya'ni loyihani qismlarga ajratib bir vaqtni o'zida qismlarni ishlash mumkin.
Xavsizlik tomonidan kuchliroq.
Vorislik, Polimorfizm , Inkapsulatsiya , Abstraksiya tamoyillaridan foydalanish imkonini beradi.

->MAQOLANI O'QISH <-
👍1