4-modul · 9-dars: Git · Github

Daraja: O'rta

Git · Github. Multithreading va I/O bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Git · Github tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Taqsimlangan versiya nazorati tizimi; kod o'zgarishlarini kuzatadi. `git init/add/commit/push/pull` buyruqlari bilan ishlatiladi.

Fayl (kod) o'zgarishlar tarixini saqlash, oldingi holatga qaytish va jamoada birga ishlash tizimi.

## Intervyuga tayyorgarlik ### Git nima? Uni qanday ishlatamiz? Taqsimlangan versiya nazorati tizimi; kod o'zgarishlarini kuzatadi. `git init/add/commit/push/pull` buyruqlari bilan ishlatiladi.

### Version control nima? Fayl (kod) o'zgarishlar tarixini saqlash, oldingi holatga qaytish va jamoada birga ishlash tizimi.

### Git bizga nima uchun kerak? O'zgarishlarni kuzatish, versiyaga qaytish, jamoada parallel ishlash va kodni yo'qotmaslik uchun.

### Git 'pull request' va 'push' o'rtasida qanday farq bor? `push` — lokal commit larni remote ga yuklash. Pull request — o'zgarishlarni asosiy branchga qo'shishni so'rab, kod ko'rikdan (review) o'tkazish so'rovi (GitHub xususiyati).

### Github nima? Git repozitoriylarini joylash, boshqarish va hamkorlik uchun onlayn platforma (bulut hosting).

### Git va Github o'rtasidagi farq? Git — vosita (tool), lokal versiya nazorati. GitHub — Git repolarni saqlaydigan onlayn xizmat/platforma.

### Gitda merge qilish nima? Bir branch dagi o'zgarishlarni boshqasiga birlashtirish.

### Git repository nima? Loyiha fayllari va ularning butun o'zgarishlar tarixi saqlanadigan joy (papka).

### Git clone nima qiladi? Mavjud (masalan remote) repozitoriyning to'liq nusxasini lokal kompyuterga ko'chiradi.

## 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/4-module.md) [Rasmiy qo‘llanma](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/package-summary.html) [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

# Terminalda faqat o'quv repositoryda:
git status --short
git diff
git log -3 --oneline
# Sirlar va .env ni commitga qo'shmang.

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, modul-04, pdp

Interaktiv ko'rinish (viktorina, izohlar, tarix)