שיחה:Java

מתוך ויקיפדיה, האנציקלופדיה החופשית

שאלה: בחלק העוסק בביצועים, מופיע המשפט הבא: "על ידי כך מתקבלים ביצועים דומים לשפות כמו C++‎, ותיאורטית אף גבוהים יותר במצבים מסוימים" לדעתי האיטיות של Java לא נובעת רק מהעובדה שהיא מתקמפלת ל - bytecode ומורצת ע"י JVM אלא גם (ואולי בעיקר) מהסיבות הבאות:

  1. כל פניה למערך נבדקת ע"י השפה לאפשרות של חריגה (אפילו אם המתכנת בדק את זה בעצמו). במעבר סידרתי על מערך גדול עם פעולה קצרה על כל אבר, זה עלול להיות משמעותי.
  2. מנגנון ה - garbage collector : בשביל לעבוד כהלכה, הוא צריך לזהות מעגלים בגרפים מכוונים - זה לוקח זמן וזה עלול לקחת את הזמן הזה, בזמן לא צפוי.
  3. downcast נבדק לתקינות בזמן ריצה. לפני שהוספו templates לשפה, הדרך היחידה לתכנות עם מבני נתונים גנריים כללה הרבה downcasts.

מה אתם אומרים? תמונה:oril.pngאורי מוסנזון 00:42, 30 מרץ 2005 (UTC)

למיטב ידיעתי מנגנון איסוף הזבל של ג'אווה לא עובד בשיטת ספירת מצביעים, אלא על ידי בדיקה של כל המשתנים, אם יש מצביעים עליהם, אחת לכמה זמן. לכן אין את הבעיה של בדיקת מעגלים. צחי 20:25, 15 ינואר 2006 (UTC)
קודם כל, ב JDK מתקדמים (1.4 ומעלה) יש מה שנקרא generational GC, הרעיון הוא עבודה ב"דורות" של איסוף זבל וכך לא צריך לרוץ על כל ה HEAP בכל פעם. באופן כללי ברור ששפה מפורשת כמו ג'אווה תמיד תהיה איטית יותר מאשר קוד בשפת המכונה (שזה מה שיוצא מ C), אבל עם תחכומים כמו Hotspot ו JIT שמקמפלים לשפת מכונה חלקים שחוזרים על עצמם רבות ההבדלים האלו מתחילים להעלם. אליבאבא 13:01, 7 יולי 2006 (IDT)


[עריכה] צורך בעריכה

יש לתת את הדעת לפחות לנקודות אלו:

  • פיסוק שגוי במקומות רבים.
  • קישורים פנימיים חסרים.
  • שימוש במונחים לא מקובלים.
  • התייחסות לא אנציקלופדית ליחסים בין סאן למיקרוסופט.

בריאות ואושר. הא? 14:36, 25 פברואר 2006 (UTC)

תיקנתי. אני מקווה שהפעם לא תשחזר. צחי 18:04, 7 יולי 2006 (IDT)

[עריכה] בעייה טכנית

זו בעייה טכנית, שאיננה קשורה לערך, אך לנושא כן (אני משתמש בחלונות XP): התקנתי את JDK ואת SDK, והורתי לדוס שיחפש את הפקודות ששייכות לג'אווה בתיקייה המתאימה. כאשר אני קורא ל-javac, המהדר, שורת הפקודה מודיעה על שגיאה, על כך שהמערכת לא מזהה את הפקודה, אך את java באופן כללי היא כן מזהה. מה לעשות?

לשאול במקומות בהם שואלים שאלות טכניות על כל מני דברים, כמו פורומים, קבוצות דיון, וכאלה. לשאלתך, כניראה שהקומפיילר לא נמצא ב-path, ולכן אתה לא מוצא אותו. צחי 15:33, 10 אפריל 2006 (UTC)