Bu maqolada JDK/JRE/JVM, JDK 17/21 o‘rnatish, IntelliJ IDEA, .java faylni compile/run qilish va classpath asoslari bor.
1. Environment & Tooling
Java dasturlashni o‘rganishda birinchi qadam - kod yozish emas, balki muhitni to‘g‘ri tayyorlash. Chunki Java oddiy .exe fayl kabi to‘g‘ridan-to‘g‘ri ishlamaydi. Java kod avval compile bo‘ladi, keyin JVM ichida ishlaydi.
1.1. JDK, JRE, JVM nima?
Java’da ko‘p uchraydigan 3 ta muhim tushuncha bor:
Atama | To‘liq nomi | Vazifasi |
|---|---|---|
JVM | Java Virtual Machine | Java bytecode’ni ishga tushiradi |
JRE | Java Runtime Environment | Java dasturini ishlatish uchun kerakli muhit |
JDK | Java Development Kit | Java dastur yozish, compile qilish va ishlatish uchun kerak |
Oddiyroq aytganda:
JDK = Dasturchi uchun kerak
JRE = Faqat dasturni ishlatish uchun kerak
JVM = Java kodni kompyuterda ishga tushiradigan virtual mashina1.2. JVM nima qiladi?
Biz Java’da kod yozasak:
public class Main {
public static void main(String[] args) {
System.out.println("Salom Java");
}
}Bu kodni kompyuter to‘g‘ridan-to‘g‘ri tushunmaydi. Avval Java compiler uni bytecode ga aylantiradi.
Main.java → Main.class → JVM ishga tushiradiMain.java - biz yozgan kod.Main.class - compiler yaratgan bytecode fayl.JVM - shu bytecode’ni o‘qib, kompyuterda ishga tushiradi.
Shuning uchun Java’ning mashhur gapi bor:
Write once, run anywhereYa’ni bir marta yozilgan Java kod Windows, Linux, macOS’da ishlashi mumkin. Asosiy shart: u yerda JVM bo‘lishi kerak.
1.3. JDK nima uchun kerak?
Agar biz Java dasturchi uchun bizga JDK kerak bo‘ladi. Chunki JDK ichida quyidagilar bor:
javac → Java compiler
java → Java dasturni ishga tushirish commandasi
jar → Java arxiv/package yaratish tool’i
jdb → debugging tool
JRE/JVM → dasturni ishlatish muhitiEng muhim ikkita command:
javac Main.javaBu .java faylni compile qiladi.
java MainBu compile qilingan dasturni ishga tushiradi.
1.4. Qaysi JDK versiyani o‘rnatish kerak?
Hozir amaliyotda eng yaxshi tanlovlardan biri:
JDK 17 yoki JDK 21JDK 17 - ko‘p enterprise loyihalarda ishlatiladi. Spring Boot loyihalarda juda ko‘p uchraydi.
JDK 21 - zamonaviyroq versiya. Virtual Threads kabi yangi imkoniyatlar bor. Yangi loyiha boshlansa, ko‘pincha JDK 21 yaxshi tanlov.
Boshlovchi uchun tavsiya:
Agar ish / enterprise uchun → JDK 17
Agar zamonaviy Java o‘rganmoqchi bo‘lsak → JDK 21Lekin ikkalasi ham yaxshi. Asosiysi, kompyuterda bitta to‘g‘ri JDK o‘rnatilgan bo‘lsin.
1.5. JDK o‘rnatilganini tekshirish
Terminal yoki CMD ochib yozasan:
java -versionNatija taxminan shunaqa chiqadi:
java version "21.0.x"Yana compiler borligini tekshirish:
javac -versionNatija:
javac 21.0.xAgar java bor, lekin javac yo‘q bo‘lsa, demak JRE bor, lekin JDK to‘liq o‘rnatilmagan bo‘lishi mumkin.
1.6. IDE nima?
Java kodni oddiy Notepad’da ham yozsa bo‘ladi. Lekin real ishda hech kim bunday qilmaydi. Dasturchilar IDE ishlatadi.
IDE - Integrated Development Environment. Ya’ni kod yozish, run qilish, debug qilish, project boshqarish uchun dastur.
Java uchun eng mashhur IDE:
IntelliJ IDEA
Bundan tashqari Eclipse, NetBeans ham bor. Lekin hozir Java/Spring Boot bozorida IntelliJ IDEA eng qulaylaridan biri.
1.7. IntelliJ IDEA nima beradi?
IntelliJ IDEA quyidagi ishlarni osonlashtiradi:
Kod yozish
Xatolarni ko‘rsatish
Auto-complete
Project yaratish
Run/debug qilish
Maven/Gradle bilan ishlash
Spring Boot loyihalarni boshqarish
RefactoringMasalan, biz System.out.println yozmoqchi bo‘lsak, IntelliJ ko‘pincha o‘zi taklif beradi.
Yana bir katta foydasi: xatoni oldindan ko‘rsatadi. Kod compile bo‘lmasidan oldin ham qayerda muammo borligini bildiradi.
1.8. Birinchi Java fayl
Java’da eng oddiy dastur shunaqa bo‘ladi:
public class Main {
public static void main(String[] args) {
System.out.println("Salom, Java!");
}
}Bu yerda:
public class MainBu Main nomli class yaratadi.
public static void main(String[] args)Bu Java dastur boshlanadigan asosiy metod.
System.out.println("Salom, Java!");Bu ekranga matn chiqaradi.
1.9. Compile va run qilish
Agar fayl nomi Main.java bo‘lsa, terminalda:
javac Main.javaShundan keyin yangi fayl paydo bo‘ladi:
Main.classKeyin ishga tushirasan:
java MainEkranga chiqadi:
Salom, Java!Muhim joyi: run qilganda .class yozilmaydi.
Noto‘g‘ri:
java Main.classTo‘g‘ri:
java Main1.10. Classpath nima?
Classpath - Java class’larni qayerdan qidirishini bildiradi.
Oddiy qilib aytganda, JVM dastur ishlayotganda kerakli .class fayllarni va library’larni topishi kerak. Qayerdan topishini esa classpath orqali biladi.
Masalan:
java -cp out MainBu yerda:
-cp outJVM’ga: "class fayllarni out papkasidan qidir" deyapti.
Classpath ayniqsa quyidagi holatlarda muhim bo‘ladi:
Bir nechta class bilan ishlaganda
Tashqi library ishlatganda
JAR fayllar bilan ishlaganda
Maven/Gradle projectlardaBoshlanishida classpath murakkab tuyuladi. Lekin asosiy fikr oddiy:
Java ishlashi uchun kerakli class yoki library qayerda joylashganini bilishi kerak.1.11. JAR fayl nima?
Java’da tayyor dastur yoki library ko‘pincha .jar formatida bo‘ladi.
JAR = Java ArchiveMasalan, Spring Boot project build qilinganda bitta .jar fayl chiqadi:
my-app.jarUni ishga tushirish:
java -jar my-app.jarReal backend loyihalarda ko‘p hollarda serverga aynan shu .jar fayl deploy qilinadi.
1.12. Beginner uchun kerakli minimal setup
Java o‘rganishni boshlash uchun bizga shular yetadi:
JDK 17 yoki 21
IntelliJ IDEA Community Edition
Terminal/CMD ishlatishni bilish
java -version tekshirish
javac bilan compile qilishni tushunishEng muhim tushuncha:
.java fayl - biz yozgan source code
.class fayl - compile qilingan bytecode
JVM - bytecode’ni ishga tushiradi
JDK - Java dasturchi uchun kerakli to‘liq paket
IDE - kod yozishni osonlashtiradigan muhitQisqa xulosa
Java’da dastur yozish jarayoni quyidagicha:
1. JDK o‘rnatiladi
2. IntelliJ IDEA sozlanadi
3. .java fayl yoziladi
4. javac orqali compile bo‘ladi
5. .class fayl hosil bo‘ladi
6. java commandasi bilan JVM ichida ishlaydi