2-modul · 10-dars: Objects · JavaDoc · UUID
Daraja: O'rta
Objects · JavaDoc · UUID. OOP bo‘yicha nazariya, amaliy namuna va mustaqil mashq.
Tushuntirish
## Dars maqsadi Objects · JavaDoc · UUID tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.
## Nazariya `java.util.Objects` — null-xavfsiz yordamchi (utility) static methodlar to'plami.
`equals()`, `hashCode()`, `toString()`, `requireNonNull()`, `isNull()`, `nonNull()`, `compare()`.
## Intervyuga tayyorgarlik ### Objects classi qanday class? `java.util.Objects` — null-xavfsiz yordamchi (utility) static methodlar to'plami.
### Objects classining qanday methodlari bor? `equals()`, `hashCode()`, `toString()`, `requireNonNull()`, `isNull()`, `nonNull()`, `compare()`.
### JavaDoc nima? Kod izohlaridan (`/** */`) HTML hujjat yaratuvchi vosita.
### JavaDoc nima uchun kerak? API ni tushuntiruvchi standart hujjat (documentation) yaratish uchun.
### JavaDoc nimalar uchun documentation yaratadi? public va protected class, method, field hamda package lar uchun.
### Package uchun documentation yaratish uchun qanday fayl qo'shish kerak? `package-info.java` (yoki eski usulda `package.html`).
### Documentation yaratish uchun qanday buyruq yoziladi? `javadoc` buyrug'i — masalan `javadoc -d docs MyClass.java`.
### UUID nima? Universally Unique Identifier — 128-bitli noyob identifikator.
### UUID nima uchun kerak? Butun dunyo bo'ylab takrorlanmaydigan noyob ID yaratish uchun (masalan yozuvlar id sifatida).
### UUID dagi M va N nimani bildiradi? UUID formatida M — versiya (qaysi algoritm bilan yaratilgani), N — variant (bit tartibi standarti) ni bildiradi.
## Versiya va aniqlik Java misollari Java 17 bazasiga mo‘ljallangan. JDK/JRE paketlash usuli distributivga bog‘liq; JVM bayt-kodni interpretatsiya va JIT orqali bajarishi mumkin. GC uchun aniq bajarilish vaqtiga kafolat yo‘q; finalization resurs yopish usuli emas. Thread stop/suspend/resume kabi eski metodlar amaliy yechim emas. Koddagi import, klass yoki tashqi kutubxona kontekstini tekshiring.
## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/2-module.md) [Rasmiy qo‘llanma](https://dev.java/learn/classes-objects/) [Sizning avvalgi savol-javob arxivingiz](https://lightyer.uz/java/interview.html)
Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.
Kod misoli
var id = java.util.UUID.randomUUID();
String name = null;
System.out.println(java.util.Objects.toString(name, "Mehmon"));
System.out.println(id);
Keng tarqalgan xatolar
- `equals()` ni override qilib, `hashCode()` ni unutish - obyekt HashMap/HashSet da yo'qoladi.
- `toString()` ga maxfiy maydon (parol, token) qo'shib qo'yish - u logga tushadi.
Mashqlar
- `equals` va `hashCode` ni yozib, obyektni `HashSet` ga ikki marta qo'shib ko'ring.
- Bitta class ga JavaDoc yozib, `javadoc` buyrug'i bilan hujjat yarating.
Teglar: pdp, modul-02, nazariya