Back to Blog

Java näme? Başlangyç düşünje

Java Programmirleme dili

Java dünýäde iň meşhur programmirleme dilleriniň biri.

Onuň iň ajaýyp tarapy: sen bir gezek kod ýazsaň, ol Windowsda-da, Linuxda-da, Android telefonynda-da işläp biler. Bir ýerde ýazdyň, ähli ýerde işledýärsiň! Göwneňiz gelýärmi?

Java ilkinji gezek 1995-nji ýylda Sun Microsystems tarapyndan döredildi (häzir Oracle-yň elinde). Diliň şygary aýdylyşy: "Write Once, Run Anywhere" ýagny "Bir gezek ýaz, ähli ýerde işlet". Hakykatdanam şeýle!

JVM, JRE, JDK bu harplaryň manysyny çözeliň

Bu üçüsi Java-nyň dürli bölümlerini aňladýar, ýöne olaryň hersiniň maksady başga. Geliň, olary kinostudiýa mysalynda düşündireýin.

  • JVM (Java Virtual Machine) => bu kinoteatrdaky projektor.

    • Ol filmi (bytecode-i) okaýar we ony ekranda görkezýär.
    • Her operasion sistemasynyň öz projektory bar (Windows, Linux, MacOS üçin aýratyn JVM), ýöne film (bytecode) ähli ýerde görkezilip bilýär.
    • JVM diňe filmi görkezýär, filmi düşürmeýär!
  • JRE (Java Runtime Environment) => bu kinoteatryň özi.

    • İçinde projektor (JVM) bar, oturgyçlar bar, kalonkalar bar ýagny film görkezmek üçin ähli zat taýýar.
    • Ýöne kamera ýok, ýagny sen täze film düşürip bilmersiň, diňe bar filmi görersiň.
  • JDK (Java Development Kit) => bu kinostudiýa!

    • Bu ýerde hemme zat bar: kameralar (compiler), mikrofonlar, redaktoryň kompýuteri, effekt programmalary, ýagny täze film (programma) döredip bolýar.
    • Elbetde, film düşürilenden soň ony kinoteatra (JRE) iberip, projektor (JVM) arkaly görkezýärsiň.

Gysgaça düşündiriş:

MaksatAnalogiýaNäme edýär?
JVMProjektorBytecode görkezýär (işledýär)
JREKinoteatrFilm görkezmek üçin ähli gurallar bar
JDKKinostudiýaTäze film (programma) döretmek üçin doly gurallar bar

💡 Netije:

  • Programma ýazmak isleýän bolsaň => JDK gerek (film düşürmek).
  • Diňe taýýar programmany işletmek isleýän bolsaň => JRE ýeterlik (film görmek).
  • Bytecode-y ýerine ýetirýän zat => JVM (projektor).

Java nähili işleýär?

Seniň kodyň (.java) => javac kompýlýator => .class (bytecode) => JVM => Maşyn kodi => Netije

Java kodyň ilki bytecode diýilýän "orta dil" görnüşine öwrülýär. JVM şol "bytecode"-i alyp, seniň kompýuteriň üçin düşnükli dile öwürýär.

Şeýlelikde, sen bir gezek kod ýazsaň, JVM islendik operasiýa sistemasyna terjime edip biler. Bu Java-nyň syrydyr!

💡 Bytecode — Adamlar okap bilmeýän, ýöne JVM üçin düşnükli orta-derejeli kod. Onuň üstünligi: Windowsa-da, Linuxa-da, Maca-da işleýär!

Ilkinji programmamyz: "Hello World!" 👋

Geliň, ilkinji Java programmaňy ýazalyň. Programmirlemede däp boýunça başlangyç programma "Hello World" (Salam Dünýä) diýilýär:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Her setiriň manysyny düşüneliň:

  • public class Hello => bu programmanyň ady. Java-da ähli zat "class" (klass) içinde bolmaly.
  • main => programmanyň başlangyç nokady. Java-da ähli ýazylýan programmalar main metoddan başlaýar, başgaça başlamaz!
  • System.out.println() => terminala tekst çykarmak üçin. Içine näme ýazsaň, şony terminalda görersiňiz.

Programmany işletmek üçin:

javac Hello.java   # Kompýlýasiýa edýäris (kody bytecode-a öwürýäris)
java Hello         # Işledýäris (JVM bytecode-y ýerine ýetirýär)

Netijede ekranda "Hello World!" ýazgysy görüner.

Näme üçin Java-ny saýlamaly?

  • Platforma saýlamaýar: Bir gezek ýaz, islendik ýerde işlet
  • Güýçli OOP (Obýektler bilen gurulan programmirleme): Kody guramak aňsat
  • Howpsuz we durnukly: Uly kompaniýalaryň köpüsi ulanýar
  • Uly community goldawy: Kynçylyk çeken wagtyň Google-da taparsyň!
  • Library-lar köp: Spring Boot, Hibernate, JDBC we başgalar, islän zadyňyz taýýar bar
  • Iş tapmak aňsat (Daşary ýurtlarda!): Java bilýän programmistlere isleg örän köp!

Java nirede ulanylýar?

UgurNäme üçin ulanylýarMysallar
BackendWebsaýtlaryň arka tarapyREST API, mikroserwisler (Spring Boot)
AndroidMobil programma ýazmakWhatsApp, Instagram (Kotlin bilen bile)
Enterprise (Uly kompaniýalar)Bank we kompaniýa ulgamlaryOnlaýn banking, CRM ulgamlary

Artykmaçlyklary we kemçilikleri

✅ Artykmaçlyklary:

  • Her ýerde işletmek mümkin: bu hakykatdanam uly artykmaçlyk!
  • Güýçli OOP gurluşy: kody düşünmek we ýazmak aňsat
  • Köp gural we IDE goldawy (IntelliJ IDEA, Eclipse): kod ýazmak has aňsat

❌ Kemçilikleri

  • Syntax biraz uzyn: başlangyçda "Why so much typing?" diýip pikir etdirýär :)
  • JVM kody başladýança biraz wagta alýar: ýöne soň çalt işleýär
  • Käwagt köne we "boring" diýilýär: ýöne iş tapmak isleseň, Java bilmeli!

Ýalňyş düşünjeler (Myth Busters!)

Geliň, Java barada köp ýaýran ýalňyş pikirleri düzedeliň:

  • "Java = JavaScript": YOK! Bular düýbünden başga iki dil. "Maşyn" bilen "Kir maşyn" bir zat däl boluşy ýaly!

  • "Java diňe Android üçin ulanylýa": Ýok! Java esasan serwer tarapynda (backend) giňden ulanylýar. Android diňe bir bölegi.

  • "Java haýal işleýä": Köne gürrüň! Häzirki wagtda JVM optimizasiýasy güýçli we Java örän çalt işleýär. Käbir ýagdaýlarda C++-dan hem çalt işleýär!

  • "Java köneldi, täze diller bara": Ýok! Java 2025-nji ýylda hem iň köp ulanylýan dilleriň biri. Kotlin, Scala ýaly täze diller hem JVM-de işleýär!

Üstünlikleri arzuw edýärin! Coding happy!