רקע והיסטוריה

מהי Java?

Java היא שפת תכנות מונחית עצמים, מטיפוס סטטי, שנוצרה בשנת 1995 על ידי James Gosling ב-Sun Microsystems (היום בבעלות Oracle). היא נחשבת לאחת השפות הנפוצות בעולם, ומשמשת לפיתוח של אפליקציות שרת, אפליקציות אנדרואיד, מערכות בנקאיות, מערכות גדולות בארגונים, ועוד.

הסיסמה המפורסמת

"Write Once, Run Anywhere"

הרעיון: כותבים את הקוד פעם אחת, ואפשר להריץ אותו על כל מערכת הפעלה שתומכת ב-Java (Windows, Mac, Linux, Android), בלי לשנות שום דבר. זה אפשרי בזכות ה-JVM (Java Virtual Machine).

איך זה עובד?

קוד מקור (Main.java)
    ↓
javac (Java Compiler)
    ↓
Bytecode (Main.class)
    ↓
JVM
    ↓
מערכת ההפעלה (Windows / Mac / Linux)
  1. כותבים את הקוד בקובץ .java
  2. הקומפיילר (javac) מתרגם את הקוד ל-bytecode (קובץ .class)
  3. ה-JVM מריץ את ה-bytecode על המחשב
  4. אותו קובץ .class ירוץ על כל מערכת הפעלה שיש בה JVM

למה Java פופולרית?

  • מונחית עצמים (OOP) במלוא מובן המילה
  • ביצועים - אחת השפות היעילות והמהירות ביותר להרצה
  • בטוחה - יש בקרה חזקה על טיפוסים ועל גישה לזיכרון
  • רצה בכל מקום - בזכות ה-JVM
  • קהילה ענקית - מיליוני מפתחים, ספריות, כלים ומשאבי לימוד
  • בסיס מצוין ללימוד מבני נתונים, אלגוריתמים ו-OOP
  • שוק עבודה גדול - חברות רבות עדיין משתמשות ב-Java

איפה משתמשים ב-Java?

  • אפליקציות אנדרואיד
  • מערכות בנקאיות וכספיות
  • שרתים גדולים (backend)
  • כלי פיתוח (Eclipse, IntelliJ עצמה כתובה ב-Java)
  • מערכות Big Data (Hadoop, Kafka)
  • משחקים (Minecraft נכתב ב-Java)

מונחים בסיסיים

מונח מה זה
JDK Java Development Kit - חבילת פיתוח (קומפיילר + JRE + כלים)
JRE Java Runtime Environment - הסביבה שמריצה Java
JVM Java Virtual Machine - המנוע שמריץ את ה-bytecode
bytecode קוד ביניים שהקומפיילר יוצר
class מחלקה - יחידת הבנייה הבסיסית של Java

בדקו את עצמכם

נסו לענות לבד לפני שאתם פותחים את התשובה.

  1. מה הופך את Java ל"רצה בכל מקום"?

    1. הקומפיילר יוצר bytecode, וה-JVM מריץ אותו בכל מערכת הפעלה
    2. Java רצה רק בדפדפן
    3. כל מערכת הפעלה כוללת את Java מראש
    4. הקוד מתורגם ישירות לשפת מכונה של כל מחשב
    הצגת התשובה

    תשובה א. javac הופך את הקוד ל-bytecode (קובצי .class), וכל מערכת שיש בה JVM יודעת להריץ את אותו bytecode בלי שינוי.

  2. מה ההבדל בין JDK ל-JRE?

    1. JDK כולל את הקומפיילר והכלים לפיתוח, JRE רק מריץ תוכניות
    2. JDK מיועד רק ל-Android
    3. JRE כולל את הקומפיילר, JDK לא
    4. אין הבדל
    הצגת התשובה

    תשובה א. ה-JDK הוא ערכת הפיתוח המלאה (javac, כלים ו-JRE). ה-JRE הוא רק סביבת ההרצה.