Hissə 1 / 6
Java-nın tarixi
Televizor pultu üçün başlanan uğursuz layihə necə oldu ki, bankların, telekom şirkətlərinin və milyonlarla serverin dilinə çevrildi.
// Java əsasları · Dərs 01
Java haradan yaranıb, yazdığınız kod necə işləyən proqrama çevrilir və ilk proqramınızı necə yazıb, kompilyasiya edib işə salmaq olar.
BU DƏRSİN SONUNDA BACARACAQSINIZ
Main.java faylından “Hello, World!” nəticəsinə qədər nə baş verdiyini təsvir etməkpublic class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Hissə 1 / 6
Televizor pultu üçün başlanan uğursuz layihə necə oldu ki, bankların, telekom şirkətlərinin və milyonlarla serverin dilinə çevrildi.
// 1.1
Zaman xəttində bir il seçin və ya hekayəni ox düymələri ilə addım-addım izləyin.
// 1.2
1995-ci ildə Sun yeni dili The Java Language: A White Paper sənədində on bir məşhur sifətlə (buzzwords) təsvir etdi. Hər birinin o vaxt və bu gün nə demək olduğunu görmək üçün üzərinə klikləyin.
“Java — , , , , , , , , , , dildir.”
Hissə 2 / 6
Dil, platforma və backend sistemlər üçün ən çox istifadə olunan texnologiyalardan biri.
// 2.1
Java ümumi təyinatlı, statik tipli, obyektyönümlü proqramlaşdırma dilidir. Kodunuz bayt-koda (bytecode) kompilyasiya olunur, bayt-kod isə Java Virtual Machine (JVM) üzərində icra olunur.
Yazdığınız qaydalar və sintaksis.
Kodunuzu işə salan hər şey.
javac, java, jshell və başqalarıEyni JVM üzərində başqa dillər də işləyir: Kotlin, Scala, Groovy və Clojure. Platformanı bir dəfə öyrənin, bu bilik hamısında işinizə yarayacaq.
// 2.2
Siz hər gün Java ilə işləyən sistemlərdən istifadə edirsiniz, sadəcə adətən bunu görmürsünüz.
Veb və mobil tətbiqlərin arxasındakı Spring Boot servisləri. Bu kurs məhz bunu öyrədir.
Ödənişlər, əsas bank sistemləri, kart əməliyyatlarının emalı və birja ticarəti sistemləri.
Mobil operatorlar üçün billinq, müştəri idarəetməsi və şəbəkə sistemləri.
Android tətbiqləri Java və ya Kotlin dilində, Java-nın kitabxanaları və alətləri ilə yazılır.
Kafka, Hadoop, Spark və Elasticsearch-ün hamısı JVM üzərində işləyir.
IntelliJ IDEA, Jenkins və Minecraft: Java Edition.
// 2.3
Adların oxşarlığı 1995-ci ildə Netscape ilə Sun arasında bağlanmış marketinq razılaşmasının nəticəsidir. Dillər isə tamamilə fərqlidir. Belə bir zarafat var: Java JavaScript-ə nə qədər bənzəyirsə, xal da xalçaya o qədər bənzəyir.
| Java | JavaScript | |
|---|---|---|
| Yaradıcısı | Sun Microsystems, 1995 | Netscape, 1995 |
| Tiplər | Statik: int age = 25; | Dinamik: let age = 25; |
| Harada işləyir | Bayt-koda kompilyasiyadan sonra JVM-də | Brauzerlərdə və Node.js-də |
| Əsas istifadəsi | Backend sistemlər, Android, korporativ proqram təminatı | Veb səhifələr və frontend; Node.js ilə backend də |
// 2.4
2018-ci ildən bəri hər mart və sentyabr ayında yeni versiya çıxır. Hər iki ildən bir onlardan biri LTS (long-term support, uzunmüddətli dəstək) olur: illər boyu yeniləmələr alır, ona görə də şirkətlər production-da LTS versiyalarından istifadə edir. Nə əlavə etdiyini görmək üçün versiyanın üzərinə klikləyin.
Hissə 3 / 6
Yazdığınız mətndən prosessorun icra edə biləcəyi instruksiyalara qədər.
// 3.1
Prosessor (CPU) yalnız maşın kodunu başa düşür. Hər dilin mənbə kodundan maşın koduna keçmək üçün bir yolu olmalıdır.
Proqram işə düşməzdən əvvəl onu bütövlükdə maşın koduna çevirir.
Nümunələr: C, C++, Go, Rust
Proqramı oxuyur və onu işlədiyi zaman addım-addım icra edir.
Nümunələr: Python, Ruby, PHP
Java hər ikisini edir. Əvvəlcə kodunuzu bayt-koda kompilyasiya edir, sonra JVM bu bayt-kodu interpretasiya edir və proqram işləyərkən tez-tez işlənən hissələri maşın koduna kompilyasiya edir. Növbəti bölmə bunu addım-addım göstərir.
// 3.2
Main.java faylından “Hello, World!” nəticəsinəBeş mərhələ. Mərhələnin üzərinə klikləyin və ya “Növbəti” düyməsini basın.
// 3.3
Kodu bir dəfə kompilyasiya edirsiniz. Eyni Main.class faylı JVM olan istənilən əməliyyat sistemində işləyir. Əməliyyat sistemini dəyişin və nəyin dəyişdiyinə baxın.
JVM platformadan asılıdır. Bayt-kodunuz isə yox.
Oracle, Eclipse Adoptium və digər istehsalçılar hər əməliyyat sistemi və prosessor üçün ayrıca JVM hazırlayır. Proqramınız hansı JVM-də işlədiyini bilməli deyil.
// 3.4
Tez-tez eşidəcəyiniz üç ad. Onlar bir-birinin içində yerləşir. Təbəqənin üzərinə klikləyin.
+ standart siniflər kitabxanası
+ proqramlaşdırma alətləri
// 3.5
JVM-in üç əsas hissəsi var: biri siniflərinizi yükləyir, biri proqram işləyərkən verilənləri saxlayır, biri isə kodu icra edir. İstənilən qutunun üzərinə klikləyin.
// 3.6
JVM hər metodun neçə dəfə işlədiyini sayır. Metod “isti” olanda JIT kompilyatoru onu maşın koduna çevirir. Aşağıdakı metodu çağırın və onun səviyyələr üzrə necə yüksəldiyinə baxın.
static int square(int x) {
return x * x;
}
Zolaqlar bir çağırışın vaxtını şərti vahidlərlə göstərir. Real JVM minlərlə çağırışdan ibarət hədlərdən və öz ölçmələrindən istifadə edir.
// 3.7
İlk üçündən bu gün istifadə edəcəksiniz. Qalanları kursun sonrakı dərslərində lazım olacaq.
| Alət | Nə edir | Nümunə |
|---|---|---|
javac | .java mənbə kodunu .class bayt-koduna kompilyasiya edir | javac Main.java |
java | JVM-i başladır və proqramı işə salır | java Main |
jshell | Java kodunu sətir-sətir sınamaq üçün interaktiv konsol | jshell |
jar | Çoxlu .class faylını bir .jar arxivinə yığır | jar cf app.jar *.class |
javadoc | Koddakı şərhlərdən HTML sənədləri yaradır | javadoc -d docs Main.java |
javap | .class faylının içindəki bayt-kodu göstərir | javap -c Main |
jdb | Komanda sətri sazlayıcısı (IntelliJ-in sazlayıcısı daha rahatdır) | jdb Main |
Hissə 4 / 6
Bu gün iki şey quraşdırmalısınız: JDK və IDE.
// 4.1
Kompilyator, JVM və alətlər.
Biz Eclipse Temurin 25 istifadə edirik. Bu, adoptium.net saytında yayımlanan pulsuz, açıq mənbəli JDK-dır.
Digər JDK-lar da eyni cür işləyir, çünki hamısı OpenJDK əsasında qurulub: Oracle JDK, Amazon Corretto, Azul Zulu, Microsoft Build of OpenJDK.
Java komandalarının çoxunun istifadə etdiyi IDE: redaktor, sazlayıcı və build alətləri bir pəncərədə.
Onu jetbrains.com/idea saytından endirin. Bu kurs üçün pulsuz versiya kifayətdir. Tələbələr pulsuz təhsil lisenziyası üçün də müraciət edə bilər.
Alternativlər: Java genişləndirmələri ilə VS Code və ya Eclipse.
Köhnə dərsliklərdə “Java 8 quraşdırın” və ya “JRE quraşdırın” yazılır. Buna fikir verməyin. JDK quraşdırın, versiya 25.
// 4.2
.msi quraşdırıcısını endirin.java -versionjavac -version.pkg faylını endirin. Apple Silicon (M1 və daha yeni) üçün aarch64, Intel prosessorlu Mac üçün x64 seçin..pkg faylını açın və quraşdırıcının göstərişlərinə əməl edin. macOS JDK-nı avtomatik tapır.java -versionjavac -versionsudo apt install openjdk-25-jdkPaket tapılmasa, JDK 25 üçün Linux .tar.gz arxivini adoptium.net saytından endirin.
java -versionjavac -version$ java -version openjdk version "25.0.1" 2025-10-21 LTS OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS) OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing) $ javac -version javac 25.0.1
Terminal JDK-nı tapa bilmir. Əvvəlcə terminalı bağlayıb yenisini açın. Yenə alınmırsa, JDK-nın bin qovluğu PATH-da deyil: quraşdırıcını yenidən işə salıb PATH seçimini aktiv edin və ya JAVA_HOME və PATH dəyişənlərini qurmaq üçün müəllimdən kömək istəyin.
java işləyir, amma javac tapılmırSizdə kompilyatorsuz runtime quraşdırılıb və ya PATH-da köhnə Java birinci gəlir. JDK quraşdırın (JRE yox) və yeni terminal açın.
java -version 1.8, 11 və ya 17 göstərirKöhnə Java quraşdırılıb və PATH-da birinci gəlir. JAVA_HOME dəyişənini JDK 25 qovluğuna yönəldin və %JAVA_HOME%\bin (Windows) və ya $JAVA_HOME/bin (macOS, Linux) yolunu PATH-ın əvvəlinə qoyun.
// 4.3
lesson01 adlandırın. Build system: IntelliJ (kursun sonrakı hissələrində Maven-ə keçəcəyik).src/Main.java faylını yaradacaq.main metodunun yanındakı yaşıl ▶ işarəsini basın. Nəticə aşağıdakı Run pəncərəsində görünəcək.System.out.println(); yazırHissə 5 / 6
Yazın, kompilyasiya edin, işə salın, sındırın və hər sətri başa düşün.
// 5.1
Beş sətir və hər sözün öz vəzifəsi var. İşarələnmiş istənilən hissənin üzərinə klikləyin və ya siçanı aparın.
public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }
Əvvəlcə static sözünü sınayın. Yeni başlayanlar ən çox onun haqqında soruşur.
// 5.2
IntelliJ-in Run düyməsi bu addımları sizin yerinizə edir. Əslində nə baş verdiyini bilmək üçün onları bir dəfə əl ilə edin. Aşağıdakı məşq terminalında əmr yazın və ya təkliflərdən birinə klikləyin.
BUNLARI SINAYIN
java Main.class yox, java Main yazılır. JVM-ə fayl adını deyil, sinif adını verirsiniz.
// 5.3
Xətalar normaldır. Onları oxumaq isə bacarıqdır. Bir səhv seçin, javac alətinin dəqiq nə çap etdiyinə baxın və onu necə düzəltməyi öyrənin.
// 5.4
Java 25 kompakt mənbə fayllarını (compact source files) əlavə etdi. Kiçik proqramlarda sinfi, static sözünü və String[] args hissəsini yazmaya bilərsiniz.
// 5.5
Terminalda jshell yazın və interaktiv Java konsolu açılacaq. Sürətli təcrübələr üçün idealdır. Klikləməzdən əvvəl hər sətrin nə çap edəcəyini təxmin edin.
JShell-dən /exit ilə çıxın. Dəyişənlərinizi görmək üçün /vars, qalan hər şey üçün /help yazın.
// 5.6
Solda qaydalar: onları pozsanız, kod kompilyasiya olunmayacaq. Sağda razılaşmalar (conventions): onları pozsanız, kod kompilyasiya olunacaq, amma hər Java proqramçısı bunu dərhal görəcək.
Main və main fərqli adlardır. System və system da.public class Main mütləq Main.java faylında saxlanılmalıdır.; ilə bitirCümlənin sonundakı nöqtə kimi.{ } ilə yazılırSətir başındakı boşluqlar insanlar üçündür. Kompilyator yalnız fiqurlu mötərizələri oxuyur.| Nə | Üslub | Nümunə |
|---|---|---|
| Sinif | PascalCase | BankAccount |
| Metod | camelCase | calculateTotal() |
| Dəyişən | camelCase | firstName |
| Sabit | UPPER_SNAKE_CASE | MAX_SIZE |
| Paket | kiçik hərflər, nöqtələr | az.example.shop |
ŞƏRHLƏR
// birsətirlik şərh /* bir neçə sətirdən ibarət şərh */ /** Javadoc: sinfi və ya metodu təsvir edir */
Hissə 6 / 6
Yadda saxlamalı olduqlarınız, özünüzü yoxlamaq üçün test və ev tapşırığı.
// 6.1
Java Sun Microsystems-də (1991–1995) James Gosling-in komandası tərəfindən yaradılıb. Bu gün ona Oracle sahiblik edir, inkişafı isə OpenJDK layihəsində açıq şəkildə aparılır.
javac .java fayllarını bayt-koda (.class) kompilyasiya edir. Bayt-kodu JVM icra edir. Java-nın hər yerdə işləməsinin səbəbi də budur.
JDK = JRE + proqramlaşdırma alətləri. JRE = JVM + standart kitabxana. Proqramçı kimi siz JDK quraşdırırsınız.
JIT kompilyatoru isti kodu sürətləndirir, zibil toplayıcı isə yaddaşı sizin yerinizə boşaldır.
Hər altı aydan bir yeni Java çıxır. Java 25 hazırkı LTS versiyasıdır və biz ondan istifadə edirik.
Kompilyasiya xətaları faylı, sətri və problemi göstərir. Onları yuxarıdan aşağı oxuyun.
// 6.2
On sual. Cavab seçən kimi düzgün cavabı görəcəksiniz.
// 6.3
Bitirdiyiniz tapşırıqları qeyd edin. Qeydləriniz yalnız bu brauzerdə saxlanılır.
// 6.4
Növbəti dərs: Primitiv verilənlər tipləri və dəyişənlər. Java ədədləri, mətni və true/false dəyərlərini necə saxlayır və niyə 7 / 2 ifadəsinin nəticəsi 3 olur.
int age = 25; double price = 9.99; boolean isJavaFun = true; char grade = 'A'; String name = "Java";