JavaJava · Chapterبەش 3 · Lectureوانە 3.1

Welcome to Java: the JDK, the JRE and the JVMبەخێربێیت بۆ Java: JDK، JRE و JVM

What Java is good at and how it keeps programs safe today, the rules of the language (the JLS), the three parts every Java programmer meets — the JVM that runs bytecode, the JRE and the JDK with its tools — Java's editions and versions, and how to install a JDK and choose an editor.

لە چیدا باشە و ئەمڕۆ چۆن سەلامەت دەهێڵێتەوە، یاساکانی زمانەکە ⁦(JLS)⁩، ئەو سێ بەشەی هەموو Java دەیانبینێت — کە جێبەجێ دەکات، و لەگەڵ ئامرازەکانی — جۆر و Java، هەروەها چۆن جێگیر بکەیت و دەستکاریکەرێک هەڵبژێریت.

18 min read21 خولەک خوێندنەوە · 18 stepsهەنگاو

What you will learnچی فێر دەبیت

  • Explain Java's main strengths and the real reasons Java programs are safe and fast.
  • Describe the jobs of the JVM, the JRE and the JDK and how they fit inside each other.
  • Name Java's editions and its long-term support versions, and choose a version to install.
  • Install a JDK, check it with java -version and javac -version, and pick an editor.
  • خاڵە بەهێزەکانی و هۆکارە ڕاستەقینەکانی سەلامەتی و خێرایی Java ڕوون بکەیتەوە.
  • کارەکانی ، و و چۆنیەتی جێگرتنیان لە ناو یەکتردا وەسف بکەیت.
  • جۆرەکانی و بناسیت و بۆ هەڵبژێریت.
  • جێگیر بکەیت، بە java -version و javac -version بیپشکنیت و یان هەڵبژێریت.

Java in a nutshellJava بە کورتی

Java is a high-level programming language that Sun Microsystems released in 1995. Oracle bought Sun in 2010 and leads Java today. Its big promise is write once, run anywhere: you translate your program once, and the same file runs on Windows, macOS and Linux. Where the name comes from, its history and where Java is used today are in Programming languages; this lesson starts from there.

کە کۆمپانیای Sun Microsystems لە ساڵی ⁦1995⁩ بڵاوی کردەوە. Oracle لە ⁦2010⁩ کۆمپانیای Sunـی کڕی و ئەمڕۆ سەرپەرشتیی Java دەکات. بەڵێنە گەورەکەی یەکجار بنووسە، لە هەموو شوێنێک جێبەجێی بکەیە: یەکجار وەردەگێڕیت و هەمان فایل لەسەر Windows، macOS و Linux کار دەکات. ناوەکەی لە کوێوە هاتووە، مێژووەکەی و ئەمڕۆ لە کوێ بەکار دێت لە زمانەکانی بەرنامەسازی باس کراون؛ ئەم وانەیە لەوێوە دەست پێ دەکات.

In this track you write real Java programs, from one line of output to classes, objects and files. Ideas that are the same in every language — what a program is, algorithms, compilers and interpreters — are in the shared chapters, and the Java lessons link to them instead of repeating them. If you already know Python, Python next to Java compares the two languages line by line.

لەم ڕێڕەوەدا ڕاستەقینەی Java دەنووسیت، لە چاپکردنی یەک دێڕەوە تا ، و . ئەو بیرۆکانەی لە هەموو زمانێکدا وەک یەکن — چییە، ، و — لە بەشە هاوبەشەکاندان و وانەکانی Java لە جیاتی دووپاتەکردنەوەیان بەستەریان پێوە دەدەن. ئەگەر پێشتر Python دەزانیت، Python لە تەنیشت Java دێڕ بە دێڕ هەردوو زمانەکە بەراورد دەکات.

Why Java is so widely usedبۆچی Java ئەوەندە بەکار دێت

Java has stayed among the most used languages for thirty years. Five strengths explain why:

سی ساڵە لە نێو بەکارهاتووترین زمانەکاندا ماوەتەوە. پێنج خاڵی بەهێز هۆکارەکەی ڕوون دەکەنەوە:

Five cards with simple icons. Runs everywhere: one .class file goes to a laptop, a Mac and a server. Strong types and a big library: a stack of books. Safe by design: a shield with a tick. Fast: a lightning bolt with the label JIT. Networking built in: a globe linked to computers.پێنج کارت بە هێمای سادە. لە هەموو شوێنێک کار دەکات: یەک فایلی .class دەچێتە سەر لاپتۆپێک، Mac و ڕاژەکارێک. جۆرداریی جێگیر و کتێبخانەیەکی گەورە: کۆمەڵێک کتێب. سەلامەت لە بنەڕەتەوە: قەڵغانێک بە نیشانەی ڕاست. خێرا: هەورەتریشقەیەک بە نووسینی JIT. پشتگیریی ڕایەڵە لە ناوەوەیدایە: گۆیەکی زەوی بەستراو بە کۆمپیوتەرەکانەوە.
Java's five strengthsپێنج خاڵە بەهێزەکەی CêIT
  1. Platform independent. A compiled Java program runs on any platform that has a Java Virtual Machine: Windows, macOS, Linux and most servers (next screen).
  2. Powerful and clear. Every variable has a fixed type that the compiler checks (), the syntax is close to C, C++ and C#, and thousands of ready-made classes — in the JDK and in free libraries — cover almost every field.
  3. Safe by design. Many mistakes are caught before or while the program runs, so they cannot quietly damage memory (two screens on).
  4. Fast. The JVM has been improved for decades. With just-in-time compilation it turns the busiest parts of a program into machine code while the program runs (how JIT works).
  5. Networking built in. Classes for internet addresses, connections and web requests come with Java (for example java.net.http.HttpClient, since Java 11), so programs that talk over a network are easy to start.
  1. سەربەخۆ لە . Javaـی کۆمپایلکراو لەسەر هەر کار دەکات کە لەسەر بێت: Windows، macOS، Linux و زۆربەی (شاشەی داهاتوو).
  2. بەهێز و ڕوون. هەر جێگیری هەیە کە دەیپشکنێت ()، لە C، ⁦C++⁩ و ⁦C#⁩ نزیکە و هەزاران ئامادە — لە ناو و لە بێبەرانبەردا — نزیکەی هەموو بوارێک دەگرنەوە.
  3. سەلامەت لە بنەڕەتەوە. زۆر هەڵە پێش جێبەجێکردن یان لە دەگیرێن، بۆیە ناتوانن بە بێدەنگی تێک بدەن (دوو شاشە دواتر).
  4. خێرا. بە دەیان ساڵ باشتر کراوە. بە بەشە زۆر بەکارهاتووەکانی لە کاتی کارکردندا دەکات بە (JIT چۆن کار دەکات).
  5. پشتگیریی لە ناوەوەیدایە. تایبەت بە ناونیشانی ، پەیوەندی و داواکاریی وێب لەگەڵ Java دێن (بۆ نموونە java.net.http.HttpClient لە ⁦Java 11⁩ـەوە)، بۆیە دەستپێکردنی ئەو لە ڕێگەی قسە دەکەن ئاسانە.

Why Java is so widely usedبۆچی Java ئەوەندە بەکار دێت

Write once, run anywhereیەکجار بنووسە، لە هەموو شوێنێک جێبەجێی بکە

Platform independence works in two steps. The compiler javac turns your source code into bytecode: a .class file of instructions for no real CPU. Then a Java Virtual Machine (JVM) on each computer runs that bytecode. The bytecode is the same everywhere; the JVM is not. Windows, macOS and Linux each need a JVM built for them and for their kind of CPU.

سەربەخۆیی لە بە دوو هەنگاو کار دەکات. javac دەگۆڕێت بۆ : فایلێکی .class کە بۆ هیچ ڕاستەقینە نین. پاشان ⁦(JVM)⁩ لەسەر هەر ئەو جێبەجێ دەکات. لە هەموو شوێنێک وەک یەکە، بەڵام وا نییە. Windows، macOS و Linux هەریەکەیان JVMـێکی تایبەت بە خۆیان و بە جۆری پێویستە.

Animation: Hello.java is compiled once into Hello.class. The same Hello.class is copied to a Windows laptop, a Mac and a Linux server. Each computer has its own JVM, made for that system, and each one prints Silav!
Animation: Hello.java is compiled once into Hello.class. The same Hello.class is copied to a Windows laptop, a Mac and a Linux server. Each computer has its own JVM, made for that system, and each one prints Silav!
One bytecode file, a different JVM on each platformیەک فایلی ، JVMـێکی جیاواز لەسەر هەر CêIT

So the JVM depends on the platform, but the bytecode does not. That is why the .class file you make on your computer also runs on a friend's computer with another operating system.

کەواتە بەندە بە ، بەڵام نا. هەر بۆیە ئەو فایلە .classـەی لەسەر دروستی دەکەیت، لەسەر هاوڕێیەکت کە تری هەیە کاریش دەکات.

How Java keeps programs safeJava چۆن بەرنامەکان سەلامەت دەهێڵێتەوە

No programming language can stop viruses by itself, and Java does not try to. Its safety comes from layers of checks that catch whole groups of mistakes before they can damage memory or data:

هیچ بە تەنیا خۆی ناتوانێت ڕابگرێت و هەوڵی ئەوەش نادات. سەلامەتییەکەی لە چەند چینێک پشکنینەوە دێت کە کۆمەڵێک هەڵە دەگرن پێش ئەوەی بتوانن یان تێک بدەن:

Five layers stacked like a wall in front of the computer's memory: 1 the compiler checks types; 2 no memory addresses in Java code; 3 the bytecode verifier checks every loaded class; 4 run-time checks such as array bounds; 5 the garbage collector frees memory safely. A note says: and keep your JDK updated.پێنج چین وەک دیوارێک لە بەردەم بیرگەی کۆمپیوتەرەکەدا: 1 کۆمپایلەرەکە جۆرەکان دەپشکنێت؛ 2 لە کۆدی Javaـدا ناونیشانی بیرگە نییە؛ 3 پشکنەری بایتکۆد هەموو کلاسێکی بارکراو دەپشکنێت؛ 4 پشکنینی کاتی جێبەجێکردن وەک سنووری ڕیزەک؛ 5 فڕێدانی بەجێماوەکان بیرگە بە سەلامەتی ئازاد دەکات. تێبینییەک دەڵێت: کەرەستەی گەشەپێدانی Javaـەکەشت نوێ بکەرەوە.
Layers of safety in Javaچینەکانی سەلامەتی لە CêIT
  • Type checks. The compiler refuses int age = "twenty"; before anything runs: incompatible types: String cannot be converted to int.
  • No memory addresses. Java code cannot calculate with memory addresses, so it cannot reach memory that is not its own. In languages where memory is freed by hand, three classic mistakes happen: Memory While a Program Runs.
  • The bytecode verifier checks every class the JVM loads (Compiling and running).
  • Run-time checks stop a program that uses a position outside an array or an object that does not exist (next screen).
  • Garbage collection frees memory that nothing uses any more, so a program never uses memory that was already given back (Objects nobody can reach).
  • Updates. JDK updates with security fixes come out four times a year, in January, April, July and October; as of November 2026 the newest update of Java 17 is 17.0.21 (October 2026). Keep yours up to date.
  • پشکنینی جۆر. پێش ئەوەی هیچ شتێک جێبەجێ بێت int age = "twenty"; ڕەت دەکاتەوە: incompatible types: String cannot be converted to int.
  • ناونیشانی نییە. کۆدی Java ناتوانێت ژمێرکاری بە ناونیشانی بکات، بۆیە ناتوانێت بگاتە ئەو هی خۆی نییە. لەو زمانانەی بە دەست ئازاد دەکرێتەوە، سێ هەڵەی کلاسیکی ڕوو دەدەن: بیرگە لە کاتی کارکردنی بەرنامەدا.
  • هەموو دەپشکنێت کە باری دەکات (کۆمپایلکردن و جێبەجێکردن).
  • پشکنینەکانی ئەو ڕادەگرن کە شوێنێکی دەرەوەی یان نەبوو بەکار دەهێنێت (شاشەی داهاتوو).
  • ئەو ئازاد دەکات کە چیتر هیچ شتێک بەکاری ناهێنێت، بۆیە هەرگیز ئەو بەکار ناهێنێت کە پێشتر گەڕێندراوەتەوە (ئەو ئۆبجێکتانەی کەس پێیان ناگات).
  • . کە چاککردنی ئاسایشیان تێدایە ساڵانە چوار جار دەردەچن، لە کانوونی دووەم، نیسان، تەممووز و تشرینی یەکەمدا؛ تا تشرینی دووەمی ⁦2026⁩ نوێترین ⁦Java 17⁩ ⁦17.0.21⁩ـە (تشرینی یەکەمی ⁦2026⁩). هی خۆت نوێ بهێڵەرەوە.

How Java keeps programs safeJava چۆن بەرنامەکان سەلامەت دەهێڵێتەوە

A mistake stops the program, it does not damage memoryهەڵە بەرنامەکە ڕادەگرێت، بیرگە تێک نادات

Here is one run-time check in action. The program below asks for position 5 in an array with room for only three values. (Arrays get their own lesson later in the track; just watch what Java does.) Java stops at once with an exception that names the problem and the line (how to read it):

ئێستا یەکێک لە پشکنینەکانی بە کردەوە ببینە. خوارەوە داوای شوێنی 5 لە دەکات کە تەنیا جێی سێ تێدایە. ( دواتر لەم ڕێڕەوەدا وانەی تایبەتی خۆیان هەیە؛ تەنیا سەیر بکە Java چی دەکات.) یەکسەر دەوەستێت بە کە ناوی کێشەکە و دێڕەکە دەڵێت (چۆن بیخوێنیتەوە):

Marks.javaJAVAType in a terminalلە تێرمیناڵدا بینووسە
public class Marks {
    public static void main(String[] args) {
        int[] marks = new int[3];   // room for 3 marks: positions 0, 1, 2
        marks[5] = 90;              // position 5 does not exist
        System.out.println("This line never runs.");
    }
}
An array of three boxes numbered 0, 1 and 2 holds marks. An arrow tries to put 90 into box 5, which is outside the array. The JVM blocks it with a stop sign and the message Index 5 out of bounds for length 3; the memory next to the array stays untouched.ڕیزەکێکی سێ خانەیی بە ژمارەی 0، 1 و 2 نمرەکان هەڵدەگرێت. تیرێک هەوڵ دەدات 90 بخاتە خانەی 5، کە لە دەرەوەی ڕیزەکەکەیە. ئامێری گریمانەیی Java بە نیشانەی وەستان ڕێی لێ دەگرێت و پەیامی Index 5 out of bounds for length 3 پیشان دەدات؛ ئەو بیرگەیەی لە تەنیشت ڕیزەکەکەوەیە دەستی لێ نادرێت.
Java checks every array position while the program runs لە کاتی کارکردندا هەموو شوێنێکی دەپشکنێتCêIT

In languages without this check, such as C, the same mistake can quietly overwrite other data — one of the oldest ways attackers break into programs.

لەو زمانانەی ئەم پشکنینەیان نییە، وەک C، هەمان هەڵە دەتوانێت بە بێدەنگی تر تێک بدات — ئەمە یەکێکە لە کۆنترین ڕێگاکانی هێرشبەران بۆ چوونە ناو .

The rules of Java: the Java Language Specificationیاساکانی Java: Java Language Specification

A computer cannot guess what you mean. Every programming language has strict rules, and a program that breaks them is not accepted at all.

ناتوانێت مەبەستەکەت بزانێت. هەر یاسای توندی هەیە و ئەو بیانشکێنێت هەرگیز وەرناگیرێت.

Java's rules are written in the Java Language Specification (JLS): an exact technical description of Java's syntax (how code must be written) and its meaning (what each piece of code does). Every Java version has its own edition; the programs in this track follow JLS 17. A second document, the Java Virtual Machine Specification, describes .class files and bytecode. Because both are public, different companies can build compilers and JVMs that all work together.

یاساکانی لە ⁦Java Language Specification (JLS)⁩ـدا نووسراون: وەسفێکی تەکنیکیی وردی ـی Java (کۆد دەبێت چۆن بنووسرێت) و واتاکەی (هەر پارچە کۆدێک چی دەکات). هەر Java چاپی خۆی هەیە؛ ئەم ڕێڕەوە پەیڕەوی ⁦JLS 17⁩ دەکەن. بەڵگەنامەیەکی دووەم، Java Virtual Machine Specification، فایلەکانی .class و وەسف دەکات. چونکە هەردووکیان گشتین، کۆمپانیای جیاواز دەتوانن و JVMـی وا دروست بکەن کە هەموویان پێکەوە کار بکەن.

A football rule bookیاسانامەی تۆپی پێ

The JLS is like the official Laws of the Game in football: referees in every country apply the same rule book. javac is the referee. It checks your program against the rules before the match starts.

JLS وەک یاسا فەرمییەکانی یاریی تۆپی پێیە: دادوەرەکان لە هەموو وڵاتێک هەمان یاسانامە جێبەجێ دەکەن. javac دادوەرەکەیە. پێش دەستپێکردنی یارییەکە بەراورد بە یاساکان دەپشکنێت.

Where the analogy stops workingسنووری ئەم نموونەیە

A referee may let a small foul go; javac never does. One missing ; and no .class file is made.

دادوەر لەوانەیە چاو لە هەڵەیەکی بچووک بپۆشێت؛ javac هەرگیز وا ناکات. تەنیا یەک ; کەم بێت، هیچ فایلێکی .class دروست ناکرێت.

The JVM: the engine that runs bytecodeئامێری گریمانەیی Java: ئەو بزوێنەرەی بایتکۆد جێبەجێ دەکات

The Java Virtual Machine is a program whose main job is to give bytecode a place to run: a runtime environment. Each JVM is made for one platform — there are JVMs for Windows, macOS and Linux, on Intel, AMD and ARM chips. When you run a program, the JVM:

کە کارە سەرەکییەکەی دابینکردنی شوێنێکە بۆ جێبەجێکردنی : ژینگەیەکی جێبەجێکردن. هەر JVMـێک بۆ یەک دروست کراوە — JVM بۆ Windows، macOS و Linux هەیە، لەسەر چیپی Intel، AMD و ARM. کاتێک جێبەجێ دەکەیت، :

Welcome.class enters a big box labelled JVM. Inside, three steps run from left to right: 1 load (the class loader), 2 verify (the bytecode verifier), 3 execute (interpreter and JIT). A band along the bottom of the box is labelled runtime environment: memory and garbage collection, links to files, screen and network. Below the JVM is the operating system and the CPU. The output Welcome to Java! comes out on the right.Welcome.class دەچێتە ناو چوارچێوەیەکی گەورە بە ناوی JVM. لە ناویدا سێ هەنگاو لە چەپەوە بۆ ڕاست ڕوو دەدەن: 1 بارکردن (بارکەری کلاس)، 2 پشکنین (پشکنەری بایتکۆد)، 3 جێبەجێکردن (ئینتەرپرێتەر و JIT). پشتێنەیەک لە خوارەوەی چوارچێوەکە ناوی ژینگەی جێبەجێکردنە: بیرگە و فڕێدانی بەجێماوەکان، بەستن بە فایلەکان، شاشە و ڕایەڵەوە. لە ژێر JVMـەوە سیستەمی وەگەڕخەر و CPU هەن. دەرخستەکە Welcome to Java! لە لای ڕاستەوە دەردەچێت.
The JVM's four jobsچوار کارەکەی CêIT
  1. loads the code: it reads the .class files the program needs;
  2. verifies the code: it checks that the bytecode follows Java's rules;
  3. executes the code: it interprets the bytecode and compiles busy parts to machine code (JIT);
  4. provides the runtime environment: memory and garbage collection, and the link to the operating system's files, screen and network.
  1. کۆدەکە بار دەکات: ئەو فایلانەی .class دەخوێنێتەوە کە پێویستیەتی؛
  2. کۆدەکە دەپشکنێت: دڵنیا دەبێتەوە کە پەیڕەوی یاساکانی Java دەکات؛
  3. کۆدەکە جێبەجێ دەکات: وەردەگێڕێت و بەشە زۆر بەکارهاتووەکان دەکات بە ⁦(JIT)⁩؛
  4. ژینگەی جێبەجێکردن دابین دەکات: و ، هەروەها بەستنەوە بە ، شاشە و .

Compiling and running shows these steps on a real program.

کۆمپایلکردن و جێبەجێکردن ئەم هەنگاوانە لەسەر ڕاستەقینە پیشان دەدات.

The JRE and the JDKژینگەی جێبەجێکردنی Java و کەرەستەی گەشەپێدانی Java

A JVM alone cannot run real programs: they also need Java's class library (the standard library) — thousands of ready-made classes such as String, System and Scanner. The JVM together with the class library is the Java Runtime Environment (JRE): everything needed to run Java programs, but no compiler. Like the JVM, it is built separately for each platform.

JVM بە تەنیا ناتوانێت ڕاستەقینە جێبەجێ بکات: ئەوان Javaـشیان پێویستە — هەزاران ئامادەی وەک String، System و Scanner. JVM لەگەڵ ئەو کتێبخانەیە ⁦(JRE)⁩: هەموو ئەوەی بۆ جێبەجێکردنی Java پێویستە، بەڵام تێدا نییە. وەک JVM، بۆ هەر بە جیا دروست دەکرێت.

Three nested boxes. The outer box, JDK, holds the development tools javac, java, jar, javadoc, jshell and javap, and the JRE box. The JRE box holds the class library (java.base and about 70 modules) and the JVM box. Side labels: JDK — write and run programs; JRE — run programs; JVM — runs bytecode.سێ چوارچێوەی ناو یەک. چوارچێوەی دەرەوە، JDK، ئامرازەکانی گەشەپێدان javac، java، jar، javadoc، jshell و javap و چوارچێوەی JRE لەخۆ دەگرێت. چوارچێوەی JRE کتێبخانەی ستاندارد (java.base و نزیکەی 70 module) و چوارچێوەی JVM لەخۆ دەگرێت. ناونیشانەکانی لا: JDK — نووسین و جێبەجێکردنی بەرنامەکان؛ JRE — جێبەجێکردنی بەرنامەکان؛ JVM — بایتکۆد جێبەجێ دەکات.
The JDK contains the JRE, and the JRE contains the JVM لەخۆ دەگرێت و لەخۆ دەگرێتCêIT

The Java Development Kit (JDK) is what programmers install. It contains everything in the JRE plus the development tools: the compiler javac, the launcher java, the archiver jar, the documentation generator javadoc and more. Together these tools let you build, run and share Java programs.

⁦(JDK)⁩ ئەوەیە کە جێگیری دەکەن. هەموو ئەوەی لە JRE هەیە لەگەڵ ئامرازەکانی گەشەپێدان لەخۆ دەگرێت: javac، دەستپێکەری java، ئەرشیڤکەری jar، دروستکەری javadoc و زیاتر. ئەم ئامرازانە پێکەوە ڕێگەت دەدەن Java دروست بکەیت، جێبەجێیان بکەیت و بڵاویان بکەیتەوە.

The JRE and the JDKژینگەی جێبەجێکردنی Java و کەرەستەی گەشەپێدانی Java

Do I still need a JRE?ئایا هێشتا JREـم پێویستە؟

The three boxes are still the right way to think about Java, but what you download has changed:

سێ چوارچێوەکە هێشتا ڕێگای دروستی بیرکردنەوەن لە Java، بەڵام ئەوەی داباری دەکەیت گۆڕاوە:

Two panels. Java 8: two separate downloads, a JRE and a JDK; inside the JDK folder is a jre folder with lib/rt.jar holding the class library. Java 11 and later: one download, the JDK; the class library is stored as modules in lib/modules; there is no jre folder and no rt.jar; a tool called jlink can build a small runtime for one app.دوو بەش. Java 8: دوو دابارکردنی جیا، JRE و JDK؛ لە ناو فۆڵدەری JDKـدا فۆڵدەرێکی jre هەیە کە lib/rt.jar کتێبخانە ستانداردەکە هەڵدەگرێت. Java 11 و دوای ئەو: یەک دابارکردن، JDK؛ کتێبخانە ستانداردەکە وەک modules لە lib/modules هەڵگیراوە؛ فۆڵدەری jre و rt.jar نییە؛ ئامرازێک بە ناوی jlink دەتوانێت ژینگەیەکی جێبەجێکردنی بچووک بۆ یەک ئەپ دروست بکات.
What changed after Java 8چی گۆڕا دوای ⁦Java 8⁩CêIT
  • Since Java 11 (2018), Oracle no longer offers a separate JRE download. You install a JDK, which can both build and run programs. (Some free builds, such as Eclipse Temurin, still offer a JRE package for computers that only run programs.)
  • Since Java 9 (2017), the class library is no longer one big rt.jar file. It is split into modules (java.base and about 70 others) stored together in the JDK's lib/modules file, and a JDK has no jre folder inside it any more.
  • A program can carry its own small runtime: the JDK tool jlink builds one that holds only the modules the program needs.
  • لە ⁦Java 11⁩ـەوە ⁦(2018)⁩، Oracle چیتر جیای JRE پێشکەش ناکات. جێگیر دەکەیت کە هەم دروست دەکات و هەم جێبەجێیان دەکات. (هەندێک وەشانی بێبەرانبەر، وەک Eclipse Temurin، هێشتا پاکێجێکی JRE بۆ ئەو پێشکەش دەکەن کە تەنیا جێبەجێ دەکەن.)
  • لە ⁦Java 9⁩ـەوە ⁦(2017)⁩، چیتر یەک فایلی گەورەی rt.jar نییە. دابەش کراوە بۆ چەند بەشێک بە ناوی modules (java.base و نزیکەی ⁦70⁩ـی تر) کە پێکەوە لە فایلی lib/modulesـی JDKـدا هەڵگیراون و JDK چیتر jreـی تێدا نییە.
  • دەتوانێت ژینگەی جێبەجێکردنی بچووکی خۆی لەگەڵ خۆیدا ببات: ئامرازی jlinkـی JDK یەکێک دروست دەکات کە تەنیا ئەو modulesـانەی تێدایە کە پێویستیەتی.

The JDK's toolboxسندوقی ئامرازەکانی کەرەستەی گەشەپێدانی Java

A JDK is a folder. Its bin folder holds the tools you start from a terminal, and its lib folder holds the class library:

JDK . binـی ئەو ئامرازانەی تێدایە کە لە دەستیان پێ دەکەیت و libـی تێدایە:

A folder tree of a JDK 17. The bin folder holds javac, java, jar, javadoc, jshell, javap, jlink and more tools. The lib folder holds the file modules, the class library with java.base and about 70 modules. Other folders: conf for settings, legal for licences, include and jmods.دارێکی فۆڵدەری JDK 17. فۆڵدەری bin ئامرازەکانی javac، java، jar، javadoc، jshell، javap، jlink و زیاتری تێدایە. فۆڵدەری lib فایلی modulesـی تێدایە، کتێبخانە ستانداردەکە بە java.base و نزیکەی 70 module. فۆڵدەرەکانی تر: conf بۆ ڕێکخستنەکان، legal بۆ مۆڵەتەکان، include و jmods.
Inside a JDK folderناو JDKCêIT
ToolئامرازWhat it doesچی دەکاتWhere you meet itلە کوێ دەیبینیت
javacThe compiler: .java source code → .class bytecode: .java ← .classCompiling and runningکۆمپایلکردن و جێبەجێکردن
javaThe launcher: starts a JVM and runs a classدەستپێکەرەکە: JVMـێک دەست پێ دەکات و جێبەجێ دەکاتCompiling and runningکۆمپایلکردن و جێبەجێکردن
jarPacks many .class files into one .jar fileزۆر فایلی .class دەپێچێتەوە لە یەک فایلی .jarـداWhen you share a bigger programکاتێک گەورەتر بڵاو دەکەیتەوە
javadocMakes web pages from documentation commentsلە لاپەڕەی وێب دروست دەکاتYour first programیەکەم بەرنامەکەت
jshellRuns Java one line at a time (JShell)Java هەر جارە یەک دێڕ جێبەجێ دەکات ⁦(JShell)⁩Compiling and runningکۆمپایلکردن و جێبەجێکردن
javapShows the bytecode inside a .class file ناو فایلێکی .class پیشان دەداتCompiling and runningکۆمپایلکردن و جێبەجێکردن
jlinkBuilds a small runtime for one programژینگەیەکی جێبەجێکردنی بچووک بۆ یەک دروست دەکاتLater, when you ship programsدواتر، کاتێک دەنێریت

Java editions: SE, Jakarta EE, ME and Java Cardجۆرەکانی سەکۆی Java: SE، Jakarta EE، ME و Java Card

The Java Platform — the language, a JVM and a class library — comes in editions for different kinds of devices:

— زمانەکە، JVMـێک و — چەند جۆرێکی هەیە بۆ جۆرە جیاوازەکانی ئامێر:

Four cards, each with a device: Java SE (Standard Edition) with a laptop and a server — this course; Jakarta EE, once Java EE, with a rack of web servers; Java ME (Micro Edition) with an old keypad phone; Java Card with a SIM card and a bank card chip.چوار کارت، هەریەکەیان بە ئامێرێک: Java SE (Standard Edition) بە لاپتۆپێک و ڕاژەکارێک — ئەم کۆرسە؛ Jakarta EE، کە پێشتر Java EE بوو، بە ڕەفەیەک ڕاژەکاری وێب؛ Java ME (Micro Edition) بە مۆبایلێکی دوگمەداری کۆن؛ Java Card بە سیمکارتێک و چیپی کارتی بانک.
The four editions of the Java Platformچوار جۆرەکەی CêIT
EditionجۆرMade forبۆTodayئەمڕۆ
Java SE (Standard Edition)Computers and servers و The base of all Java; this course uses itبنەمای هەموو Javaـیە؛ ئەم کۆرسە بەکاری دەهێنێت
Jakarta EE (once Java EE)Jakarta EE (پێشتر Java EE)Large web and business servers گەورەی وێب و بازرگانیExtra libraries on top of Java SE, run by the Eclipse Foundation; Jakarta EE 11 is the newest (November 2026) زیادە لەسەر Java SE کە دەزگای Eclipse بەڕێوەیان دەبات؛ تا تشرینی دووەمی ⁦2026 Jakarta EE 11⁩ نوێترینە
Java ME (Micro Edition)Small devicesئامێری بچووکRan games and apps on millions of keypad phones in the 2000s; little used for new workلە ساڵانی ⁦2000⁩دا یاری و ئەپی لەسەر ملیۆنان مۆبایلی دوگمەدار جێبەجێ دەکرد؛ ئێستا کەم بۆ کاری نوێ بەکار دێت
Java CardSmart cardsRuns small programs on SIM cards, bank cards and ID cards بچووک لەسەر سیمکارت، کارتی بانک و ناسنامە جێبەجێ دەکات

Java versions and long-term supportوەشانەکانی Java و پشتگیریی درێژخایەن

Java 1.0 came out on 23 January 1996. Since 2018 a new version arrives every six months, in March and September. Most versions are only updated until the next one arrives, but every two years one becomes a long-term support (LTS) version that gets fixes for many years. Schools and companies usually stay on an LTS version.

⁦Java 1.0⁩ لە ⁦23⁩ـی کانوونی دووەمی ⁦1996⁩ دەرچوو. لە ⁦2018⁩ـەوە هەر شەش مانگ جارێک نوێ دێت، لە ئازار و ئەیلوولدا. زۆربەی تەنیا تا هاتنی داهاتوو نوێ دەکرێنەوە، بەڵام هەر دوو ساڵ جارێک یەکێکیان دەبێتە ⁦(LTS)⁩ کە بۆ چەندین ساڵ چاککردنەوە وەردەگرێت. قوتابخانە و کۆمپانیاکان زۆرجار لەسەر LTS دەمێننەوە.

A timeline from 1996 to 2026. Java 1.0 in 1996. Long-term support versions are marked with large dots: 8 in 2014, 11 in 2018, 17 in 2021 (this course's code), 21 in 2023 and 25 in 2025. JDK 27, the newest version, in September 2026. From 2018 small ticks show a new version every six months.هێڵێکی کات لە 1996ـەوە تا 2026. Java 1.0 لە 1996. وەشانەکانی پشتگیریی درێژخایەن بە خاڵی گەورە نیشانە کراون: 8 لە 2014، 11 لە 2018، 17 لە 2021 (کۆدی ئەم کۆرسە)، 21 لە 2023 و 25 لە 2025. JDK 27، نوێترین وەشان، لە ئەیلوولی 2026. لە 2018ـەوە نیشانەی بچووک هەر شەش مانگ وەشانێکی نوێ پیشان دەدەن.
Java versions, 1996–2026 ، ⁦1996–2026⁩CêIT
  • LTS versions: 8 (2014), 11 (2018), 17 (2021), 21 (2023) and 25 (2025).
  • As of November 2026 the newest version is JDK 27, released on 15 September 2026 (its first update, 27.0.1, came in October); JDK 28 is expected in March 2027.
  • Newer versions still run older programs: every program in this track is written for Java 17 and also runs on 21, 25 and 27.
  • A version number such as 17.0.20 means version 17, update 20: security and bug fixes, no new language features. Other numbering schemes, such as semantic and calendar versioning, are compared in Versions and Builds.
  • LTS: 8 ⁦(2014)⁩، ⁦11⁩ ⁦(2018)⁩، ⁦17⁩ ⁦(2021)⁩، ⁦21⁩ ⁦(2023)⁩ و ⁦25⁩ ⁦(2025)⁩.
  • تا تشرینی دووەمی ⁦2026⁩، نوێترین ⁦JDK 27⁩ـە کە لە ⁦15⁩ـی ئەیلوولی ⁦2026⁩ دەرچوو (یەکەم ، ⁦27.0.1⁩، لە تشرینی یەکەمدا هات)؛ چاوەڕوان دەکرێت ⁦JDK 28⁩ لە ئازاری ⁦2027⁩دا دەربچێت.
  • نوێتر هێشتا کۆنتر جێبەجێ دەکەن: هەموو ئەم ڕێڕەوە بۆ ⁦Java 17⁩ نووسراوە و لەسەر ⁦21⁩، ⁦25⁩ و ⁦27⁩ـیش کار دەکات.
  • ژمارەی وەک 17.0.20 واتە ⁦17⁩، ⁦20⁩: چاککردنی ئاسایش و هەڵەکان، بێ تایبەتمەندیی نوێی زمان. شێوازەکانی تری ژمارەدانان، وەک و ژمارەدانان بەپێی ڕێکەوت، لە وەشانەکان و بیلدەکان بەراورد کراون.

Install a JDKکەرەستەیەکی گەشەپێدانی Java جێگیر بکە

Choose a current LTS version — JDK 25 in 2026 — from a free OpenJDK build such as Eclipse Temurin (adoptium.net), or Oracle's own JDK. Any JDK 17 or newer runs every program in this track. Pick the installer for your system and your kind of processor:

LTSـی ئێستا هەڵبژێرە — ⁦JDK 25⁩ لە ⁦2026⁩دا — لە وەشانێکی بێبەرانبەری OpenJDK وەک Eclipse Temurin ⁦(adoptium.net)⁩، یان JDKـی خودی Oracle. هەر ⁦JDK 17⁩ یان نوێتر هەموو ئەم ڕێڕەوە جێبەجێ دەکات. فایلی گونجاو بۆ سیستەمەکەت و جۆری هەڵبژێرە:

Three cards. Windows: the .msi installer, x64 for most PCs or aarch64 for ARM laptops; keep the option that adds Java to the PATH. macOS: the .pkg installer, aarch64 for Apple-silicon Macs, x64 for older Intel Macs. Linux: the system's package manager, for example sudo apt install default-jdk.سێ کارت. Windows: فایلی جێگیرکردنی .msi، x64 بۆ زۆربەی کۆمپیوتەرەکان یان aarch64 بۆ لاپتۆپەکانی ARM؛ ئەو هەڵبژاردنە بهێڵەرەوە کە Java دەخاتە ناو PATH. macOS: فایلی جێگیرکردنی .pkg، aarch64 بۆ Macـی Apple silicon و x64 بۆ Macـی کۆنی Intel. Linux: بەڕێوەبەری پاکێجی سیستەمەکە، بۆ نموونە sudo apt install default-jdk.
Which installer to chooseکام فایلی هەڵبژێریتCêIT
  1. Windowsلەسەر Windows

    Download the .msi installer and run it. Keep the option that adds Java to the PATH (the list of folders where the system looks for commands).

    فایلی .msi دابار بکە و کاری پێ بکە. ئەو هەڵبژاردنە بهێڵەرەوە کە Java دەخاتە ناو PATH (لیستی ئەو سیستەمەکە تێدا دەگەڕێت).

  2. macOSلەسەر macOS

    Download the .pkg installer and open it, or install a JDK with Homebrew.

    فایلی .pkg دابار بکە و بیکەرەوە، یان بە Homebrew جێگیر بکە.

  3. Linuxلەسەر Linux

    Use your system's package manager, for example sudo apt install default-jdk on Ubuntu or Debian.

    سیستەمەکەت بەکار بهێنە، بۆ نموونە sudo apt install default-jdk لەسەر Ubuntu یان Debian.

  4. Thenپاشان

    Close every terminal window and open a new one, so it sees the new PATH.

    هەموو پەنجەرەکانی دابخە و یەکێکی نوێ بکەرەوە، بۆ ئەوەی PATHـە نوێیەکە ببینێت.

Install a JDKکەرەستەیەکی گەشەپێدانی Java جێگیر بکە

Check your JDKکەرەستەی گەشەپێدانی Javaـەکەت بپشکنە

Open Command Prompt (Windows) or Terminal (macOS, Linux) and ask both tools for their version:

⁦Command Prompt (Windows)⁩ یان ⁦Terminal (macOS⁩، Linux) بکەرەوە و ژمارەی هەردوو ئامرازەکە بپرسە:

BASHType in a terminalلە تێرمیناڵدا بینووسە
java -version
BASHType in a terminalلە تێرمیناڵدا بینووسە
javac -version

The first line shows the version (here 17.0.20). The other lines name who built this JDK — here Homebrew; yours may say Temurin or Oracle. If javac answers too, you have a full JDK, not just a runtime.

دێڕی یەکەم ژمارەی پیشان دەدات (لێرەدا ⁦17.0.20⁩). دێڕەکانی تر دەڵێن کێ ئەم JDKـەی دروست کردووە — لێرەدا Homebrew؛ هی تۆ لەوانەیە Temurin یان Oracle بڵێت. ئەگەر javacـیش وەڵام بداتەوە، JDKـی تەواوت هەیە، نەک تەنیا ژینگەی جێبەجێکردن.

You type javac -version. The shell looks through the folders listed in PATH one by one: the first two folders do not have javac, the third, the JDK's bin folder, does, so javac runs and prints javac 17.0.20. If no folder has it, Windows says 'javac' is not recognized and macOS or Linux say command not found.javac -version دەنووسیت. شێڵەکە یەک بە یەک لە ناو ئەو فۆڵدەرانەدا دەگەڕێت کە لە PATH ناویان هاتووە: دوو فۆڵدەری یەکەم javacـیان تێدا نییە، سێیەمیان، فۆڵدەری binـی JDK، هەیەتی، بۆیە javac کار دەکات و javac 17.0.20 چاپ دەکات. ئەگەر هیچ فۆڵدەرێک نەیبێت، Windows دەڵێت 'javac' is not recognized و macOS یان Linux دەڵێن command not found.
How the terminal finds javac چۆن javac دەدۆزێتەوەCêIT

If the terminal answers 'javac' is not recognized as an internal or external command (Windows) or command not found: javac (macOS, Linux), no folder in your PATH contains the JDK's bin folder. Run the installer again with the PATH option, or open a new terminal.

ئەگەر وەڵام بداتەوە 'javac' is not recognized as an internal or external command ⁦(Windows)⁩ یان command not found: javac (macOS، Linux)، هیچ لە PATHـەکەتدا binـی JDK نییە. فایلی دووپاتە بە هەڵبژاردەی PATH جێبەجێ بکەرەوە، یان نوێ بکەرەوە.

Where to write JavaJava لە کوێ بنووسیت

Any plain-text editor can hold Java code, but an IDE (integrated development environment) also colours the code, marks mistakes while you type and runs the program with one click. Free choices in 2026:

هەر دەتوانێت کۆدی Java هەڵبگرێت، بەڵام ⁦(IDE)⁩ کۆدەکە ڕەنگ دەکات، لە کاتی نووسیندا هەڵەکان نیشانە دەکات و بە یەک کرتە جێبەجێ دەکات. هەڵبژاردە بێبەرانبەرەکان لە ⁦2026⁩دا:

Four simple window outlines without logos. VS Code with the Extension Pack for Java: a light editor with a Run link above main. IntelliJ IDEA: a full Java IDE with a green run arrow. Java Playground at learn.java: a browser window that runs a few lines. A fourth card lists other free choices — Eclipse, NetBeans and BlueJ — and notes that TextPad is a paid Windows-only editor.چوار چوارچێوەی سادەی پەنجەرە بەبێ لۆگۆ. VS Code لەگەڵ Extension Pack for Java: دەستکاریکەرێکی سووک بە بەستەری Run لە سەرووی main. IntelliJ IDEA: ژینگەیەکی کۆکراوەی گەشەپێدانی تەواوی Java بە تیرێکی سەوزی جێبەجێکردن. Java Playground لە learn.java: پەنجەرەیەکی تۆڕگەڕ کە چەند دێڕێک جێبەجێ دەکات. کارتی چوارەم هەڵبژاردەی بێبەرانبەری تر دەژمێرێت — Eclipse، NetBeans و BlueJ — و دەڵێت TextPad دەستکاریکەرێکی پارەدارە و تەنیا بۆ Windowsـە.
Free places to write and run Javaشوێنی بێبەرانبەر بۆ نووسین و جێبەجێکردنی JavaCêIT
EditorدەستکاریکەرGood forباشە بۆNoteتێبینی
VS Code + Extension Pack for JavaA light editor for many languagesدەستکاریکەرێکی سووک بۆ زۆر زمانFree; needs a JDK installedبێبەرانبەرە؛ JDKـی جێگیرکراوی پێویستە
IntelliJ IDEAA full Java IDE تەواوی JavaSince version 2025.3 one product whose core Java features are free (older versions: Community Edition); it can download a JDK for youلە ⁦2025.3⁩ـەوە یەک بەرهەمە و تایبەتمەندییە سەرەکییەکانی Java تێیدا بێبەرانبەرن (وەشانە کۆنەکان: Community Edition)؛ دەتوانێت JDK بۆت دابار بکات
Eclipse, Apache NetBeansEclipse، Apache NetBeansFull Java IDEs تەواوی JavaFree and open sourceبێبەرانبەر و
BlueJFirst steps with classes and objectsیەکەم هەنگاوەکان لەگەڵ و Free; made for teachingبێبەرانبەرە؛ بۆ فێرکردن دروست کراوە
Java Playground (learn.java)Trying a few lines in a browser, even on a phoneتاقیکردنەوەی چەند دێڕێک لە ، تەنانەت لەسەر مۆبایلNothing to install, no computer needed; short pieces onlyنە جێگیرکردنی دەوێت نە ؛ تەنیا پارچەی کورت

Common mistakesهەڵە باوەکان

MistakeهەڵەWhat really happensبە ڕاستی چی ڕوو دەداتFixچارەسەر
Installing only a JRE, or Java from java.com, to write programs تەنیا JRE، یان Java لە ⁦java.com⁩، بۆ نووسینی There is no javac, so nothing can be compiled.javac نییە، بۆیە هیچ شتێک کۆمپایل ناکرێت.Install a JDK. جێگیر بکە.
Thinking the JVM runs .java filesوا بزانیت فایلەکانی .java جێبەجێ دەکاتThe JVM runs bytecode; javac makes it first. (java Hello.java compiles in memory first.) جێبەجێ دەکات؛ javac سەرەتا دروستی دەکات. (java Hello.java سەرەتا لە کۆمپایل دەکات.)Compile, then run.کۆمپایل بکە، پاشان جێبەجێ بکە.
Thinking one JVM fits every computerوا بزانیت یەک JVM بۆ هەموو دەگونجێتThe bytecode is the same everywhere; each JVM is built for one system and CPU. لە هەموو شوێنێک وەک یەکە؛ هەر JVMـێک بۆ یەک سیستەم و CPU دروست کراوە.Download the JDK for your system and processor.JDKـی سیستەم و دابار بکە.
Mixing up Java and JavaScriptتێکەڵکردنی Java و Two different languages that only share part of a name.دوو زمانی جیاوازن کە تەنیا بەشێک لە ناویان هاوبەشە.JavaScript runs mostly in web browsers; Java runs on a JVM.JavaScript زۆرتر لە کار دەکات؛ Java لەسەر JVM.
Two JDKs: java -version and javac -version show different numbersدوو JDK: java -version و javac -version دوو ژمارەی جیاواز پیشان دەدەنThe PATH finds the two tools in different folders.PATH دوو ئامرازەکە لە دوو جیاوازدا دەدۆزێتەوە.Keep one JDK first in the PATH.یەک JDK لە سەرەتای PATHـدا بهێڵەرەوە.
Following an old tutorial that installs Java 8پەیڕەوکردنی فێرکارییەکی کۆن کە ⁦Java 8⁩ جێگیر دەکاتYou miss ten years of features and updates.دە ساڵ تایبەتمەندی و لە دەست دەچێت.Install a current LTS, such as JDK 25.LTSـێکی ئێستا جێگیر بکە، وەک ⁦JDK 25⁩.

Practiceڕاهێنان

ExerciseڕاهێنانInstall and checkجێگیرکردن و پشکنین

Install a JDK (or use the one at school). Run java -version and javac -version and write down three things: the version number, who built the JDK, and whether both commands answered.

جێگیر بکە (یان ئەوەی قوتابخانە بەکار بهێنە). java -version و javac -version جێبەجێ بکە و سێ شت بنووسە: ژمارەی ، کێ JDKـەکەی دروست کردووە و ئایا هەردوو وەڵامیان دایەوە.

Show answerوەڵامەکە پیشان بدە

A sample answer from a computer with JDK 17: version 17.0.20; built by Homebrew (yours may say Temurin or Oracle); both commands answered, so a full JDK is ready. If only java answers, see Check your JDK.

وەڵامێکی نموونە لە کە ⁦JDK 17⁩ـی هەیە: ⁦17.0.20⁩؛ دروستکەر Homebrew (هی تۆ لەوانەیە Temurin یان Oracle بێت)؛ هەردوو وەڵامیان دایەوە، بۆیە JDKـی تەواو ئامادەیە. ئەگەر تەنیا java وەڵام بداتەوە، بڕوانە کەرەستەی گەشەپێدانی Javaـەکەت بپشکنە.

ExerciseڕاهێنانWhich box?کام چوارچێوە؟

Sort these into the boxes JDK, JRE and JVM (put each in the smallest box that holds it): javac, the class library, the bytecode verifier, javadoc, jshell, garbage collection.

ئەمانە بەسەر چوارچێوەکانی JDK، JRE و JVMـدا دابەش بکە (هەریەکەیان بخەرە بچووکترین چوارچێوە کە لەخۆی دەگرێت): javac، ، ، javadoc، jshell، .

Show answerوەڵامەکە پیشان بدە
  • JDK only (development tools): javac, javadoc, jshell.
  • JRE (outside the JVM): the class library.
  • JVM: the bytecode verifier and garbage collection.
  • Remember the nesting: whatever is in the JVM is also in the JRE and in the JDK.
  • تەنیا JDK (ئامرازەکانی گەشەپێدان): javac، javadoc، jshell.
  • JRE (لە دەرەوەی JVM): .
  • JVM: و .
  • لە بیرت بێت چوارچێوەکان لە ناو یەکدان: هەرچی لە JVMـدا هەیە، لە JRE و JDKـیشدا هەیە.
ExerciseڕاهێنانWhich edition?کام جۆر؟

Name the Java edition for each: (a) a desktop program on a laptop; (b) the chip of a SIM card; (c) a large online-shop server built with Jakarta libraries; (d) a game on a 2006 keypad phone.

جۆری Java بۆ هەریەکەیان بنووسە: ⁦(a)⁩ سەر مێز لەسەر ؛ ⁦(b)⁩ چیپی سیمکارتێک؛ ⁦(c)⁩ گەورەی فرۆشگای سەرهێڵ کە بە Jakarta دروست کراوە؛ ⁦(d)⁩ یارییەک لەسەر مۆبایلێکی دوگمەداری ساڵی ⁦2006⁩.

Show answerوەڵامەکە پیشان بدە

(a) Java SE; (b) Java Card; (c) Jakarta EE (which runs on top of Java SE); (d) Java ME.

⁦(a) Java SE⁩؛ ⁦(b) Java Card⁩؛ ⁦(c) Jakarta EE⁩ (کە لەسەر Java SE کار دەکات)؛ ⁦(d) Java ME⁩.

ExerciseڕاهێنانTrue or false?ڕاست یان هەڵە؟

(a) Java's design stops every virus. (b) Bytecode compiled on Windows runs on Linux. (c) Java 22 is an LTS version. (d) Since Java 11 Oracle offers a separate JRE download. (e) The JVM is the same program on every operating system.

⁦(a)⁩ دیزاینی Java هەموو ڕادەگرێت. ⁦(b)⁩ کە لەسەر Windows کۆمپایل کراوە لەسەر Linux کار دەکات. ⁦(c) Java 22⁩ LTSـە. ⁦(d)⁩ لە ⁦Java 11⁩ـەوە Oracle جیای JRE پێشکەش دەکات. ⁦(e) JVM⁩ لەسەر هەموو هەمان .

Show answerوەڵامەکە پیشان بدە
  • (a) False: no language stops viruses; Java prevents whole groups of memory mistakes, and updates fix security holes.
  • (b) True: bytecode is platform-independent.
  • (c) False: the LTS versions are 8, 11, 17, 21 and 25.
  • (d) False: since Java 11 you install a JDK.
  • (e) False: each operating system and CPU has its own JVM.
  • ⁦(a)⁩ هەڵە: هیچ زمانێک ڕاناگرێت؛ Java ڕێ لە کۆمەڵێک هەڵەی دەگرێت و کونە ئاسایشییەکان چاک دەکەن.
  • ⁦(b)⁩ ڕاست: سەربەخۆیە لە .
  • ⁦(c)⁩ هەڵە: LTS بریتین لە 8، ⁦11⁩، ⁦17⁩، ⁦21⁩ و ⁦25⁩.
  • ⁦(d)⁩ هەڵە: لە ⁦Java 11⁩ـەوە جێگیر دەکەیت.
  • ⁦(e)⁩ هەڵە: هەر و CPUـێک JVMـی خۆی هەیە.

Summaryپوختە

  • Java compiles once to bytecode, and a JVM on each platform runs it: write once, run anywhere.
  • Its strengths: platform independence, static types and a huge library, layered safety checks, speed through JIT compilation, and networking built in.
  • The JLS is Java's official rule book; javac checks your code against it.
  • The JVM loads, verifies and executes bytecode and gives it a runtime environment. JVM + class library = JRE; JRE + development tools = JDK.
  • Today you install a JDK (no separate JRE since Java 11). Editions: SE, Jakarta EE, ME and Java Card. LTS versions: 8, 11, 17, 21 and 25; the newest is JDK 27.
  • Check with java -version and javac -version; write code in VS Code, IntelliJ IDEA or another editor.
  • یەکجار بۆ کۆمپایل دەکرێت و JVMـێک لەسەر هەر جێبەجێی دەکات: یەکجار بنووسە، لە هەموو شوێنێک جێبەجێی بکە.
  • خاڵە بەهێزەکانی: سەربەخۆیی لە ، و زۆر گەورە، چینەکانی پشکنینی سەلامەتی، خێرایی بە و لە ناوەوەیدا.
  • JLS یاسانامە فەرمییەکەی Javaـیە؛ javac کۆدەکەت بەراورد بەوە دەپشکنێت.
  • بار دەکات، دەیپشکنێت، جێبەجێی دەکات و ژینگەی جێبەجێکردنی بۆ دابین دەکات. ⁦JVM +⁩ = JRE؛ ⁦JRE +⁩ ئامرازەکانی گەشەپێدان = JDK.
  • ئەمڕۆ جێگیر دەکەیت (لە ⁦Java 11⁩ـەوە JREـی جیا نییە). جۆرەکان: SE، Jakarta EE، ME و Java Card. ⁦LTS: 8⁩، ⁦11⁩، ⁦17⁩، ⁦21⁩ و ⁦25⁩؛ نوێترینیان ⁦JDK 27⁩ـە.
  • بە java -version و javac -version بیپشکنە؛ کۆد لە VS Code، IntelliJ IDEA یان تر بنووسە.
Review questionsپرسیارەکانی پێداچوونەوە
Why does Java need a JVM for every platform?بۆچی Java بۆ هەر سەکۆیەک JVMـێکی پێویستە؟

Bytecode is not machine code for any real CPU. Each platform needs a JVM that turns the same bytecode into actions on its own system.

هیچ ڕاستەقینە نییە. هەر JVMـێکی پێویستە کە هەمان لەسەر سیستەمی خۆی جێبەجێ بکات.

What is the difference between the JRE and the JDK?جیاوازیی نێوان JRE و JDK چییە؟

The JRE (JVM + class library) can only run programs; the JDK adds the tools for writing them, such as javac.

⁦JRE (JVM +⁩ ) تەنیا دەتوانێت جێبەجێ بکات؛ JDK ئامرازەکانی نووسینیشیان زیاد دەکات، وەک javac.

What makes Java programs safe if not a security manager?ئەگەر Security Manager نەبێت، چی بەرنامەکانی Java سەلامەت دەکات؟

Type checks by the compiler, no memory addresses in the code, the bytecode verifier, run-time checks, garbage collection and regular updates.

پشکنینی جۆر لەلایەن ، نەبوونی ناونیشانی لە کۆددا، ، پشکنینەکانی ، و بەردەوام.

Which Java version should you install in 2026?لە ⁦2026⁩دا کام وەشانی Java جێگیر بکەیت؟

A current LTS version, JDK 25. Any JDK 17 or newer runs the programs of this track.

LTSـی ئێستا، ⁦JDK 25⁩. هەر ⁦JDK 17⁩ یان نوێتر ئەم ڕێڕەوە جێبەجێ دەکات.

Lesson complete!وانەکە تەواو بوو!

Well done. Review the key terms, then go on to the next lesson.دەستخۆش. سەیرێکی زاراوە سەرەکییەکان بکەرەوە، پاشان بڕۆ بۆ وانەی داهاتوو.

Key termsزاراوە سەرەکییەکان

Next lessonوانەی داهاتوو

Your First Java Program: Output and Commentsیەکەم بەرنامەی Javaـت: دەرخستە و لێدوانەکان

References and further readingسەرچاوەکان و خوێندنەوەی زیاتر

This lecture is a first edition. The Kurdish text and terminology are waiting for review by Kurdish IT teachers.ئەم وانەیە چاپی یەکەمە. دەقە کوردییەکە و زاراوەکانی چاوەڕێی پێداچوونەوەی مامۆستایانی کوردی بواری IT ن.

Appearanceڕووکار

Modeدۆخ
Styleشێواز
Coloursڕەنگەکان

Saved on this device only.تەنیا لەسەر ئەم ئامێرە پاشەکەوت دەکرێت.