Freshlybaked Chocolatechip

الأعضاء
  • المساهمات

    8
  • تاريخ الانضمام

  • تاريخ آخر زيارة

السُّمعة بالموقع

0 Neutral
  1. هل يجب علي ان اتعلم الكثير عن تفاصيل ال jvm ك الclass loader او شيء ما كهذا لانني قرات عنها بعض الاشياء وما هي مناطقها مراحلها واشياء كهذه, و اشياء ك لو اردت ان استخدم class ما فيجب عليه ان يكون loaded. لكنني لم اتعمق كثيرا الى درجة الاجابة عن سؤال ك (لو تنفذ سطر ينشئ object من class ما, هل تم انشاء ذلك ال object عن طريق اخذ نسخة من الكود الخاص ب ال class المتواجد في method area ووضعها في ال heap او ماذا؟), او متى تماما وكيف يتم وضع default value في ال variable؟ , والشيء نفسه مع امور ك ماذا يعني 64-bit prossecor و ما الفرق بينه وبين 32-bit prossecor,و ما هي بصورة كبيرة وماذا تفعل وكيف تعمل ال registers الخاصة ب المعالج,(اظن بان هذه الامور مهمة حينما ياتي الامر الى ال multi-core threading). سؤالي هو,هل يجب علي ان اعرف هذه الامور لاكون جيد في جافا او لا؟ شكرا.
  2. هل تعلم الان جافا متاخر جدا؟ لانني قرات مقالة تقول بانها لغة قديمة جدا ايضا اخشى بان تظهر تقنية او لغة وتصبح جافا بلا قيمة لذا هل هذا الامر صحيح ام لا؟
  3. ما هو الشيء الذي ادرسه لاستطيع ان اعرف كيف يعمل الحاسوب لا اعني اللغات و ال machine code بل اعني كيف يعمل كيف تعمل اللغات ولماذا تعمل كيف يعمل الهارد ويير ولماذا وما هي الاشياء التي تكونه الخ. وكيف يعمل الانترنت بتعمق وجميع ما يحصل حينما ادخل دومين في السيرش بار وتاتيني نتيجة ولماذا اتت. وفي نفس الوقت اكون software engineer. باختصار ارجوا ان تذكر جميع التخصصات التي تجعل استخدامي للحاسوب ممكنا اليوم. لاختار بينها (;
  4. لدي الكود بالاسفل class A { void a(int x,int y){ System.out.println(x+y); } void a2(int x,double y){ System.out.println(x+(int)y); } } class B extends A { @Override void a2(int x,double y){ System.out.println(x+(int)y+4); } public class Test { public static void main(String[] args) { A b=new B(); b.a2(2,2.0); } النتيجة تكون 8 اي الميثود من بي تم استدعاؤها في الواقع انا لا اعرف كيف اصيغ السؤال جيدا لكن ساحاول اليس الكود بالاعلى هو overloading ؟؟؟؟ لو لم يكن كذلك فما هو ولما هو ليس كذلك ؟؟؟؟ وان كان كذلك فكيف تم استدعاء الميثود في B لان ال overloading is a static binding وايضا ال compiler لا يعرف ما هو الشيء الذي يشير اليه b في ال compile time حسب علمي ولماذا ال overloading هو static binding في الاساس لانه حتى لو كان هنالك overloading في بعض الحالات يمكنني ان اقوم ب overriding لل overloaded method وايضا شيء اخر من اي مكان يتم اخذ الميثود المراد استدعاؤها من ال object ام من ال method area لانه حسب علمي يتم تحويل الجافا فايل الى كلاس فايل وبعدها يتم انشاء كود مطابق للكود الذي في الكلاس فايل ووضعه في ال method area وهذا يعني ان الميثود المكتوبة في الكلاس تقريبا يتم نقلها لل method area صحيح ؟؟؟؟ رجاء لو لم تفهم اي شيء من السؤال قل لي لكي احاول ان اصيغه بطريقة افضل (;
  5. اعرف هذا الاجابة بالنسبة لي ستكون بسبب ال casting في a f = new b();f على اي حال شكرا (;
  6. اهلا سمعت ان نوع ال object يتم تحديده في ال run-time في جافا لذا لدي سؤالان الاول:هل ذلك صحيح؟؟؟؟ الثاني:ماذا يكون النوع في ال compile-time؟؟؟؟ وايضا (فلنقل ان لدي هذا الكود class a{ int x=0; } class b extends a{ int x=4; } a f=new b(); System.out.println(f.x); النتيجة تكون 0 لماذا اختار ان يطبع ال x في a بدل التي في b؟؟؟؟ وهل لنوع ال reference علاقة بالامر ؟؟؟؟ شكرا (;
  7. اهلا هل في عملية Exception Propagation يتم البحث عن exception handler مناسب تابع ل try block يستدعي احدى ال methods التي في ال call stack ام تابع لاي try block سواء يستدعي ام لا ؟؟؟؟ شكرا (;
  8. اهلا هل ال jvm تبحث في ال call stack عن exception handler مناسب ويكون مع try block يستدعي ال ميثود الي حصل بها ال exception ام اي exception handler مناسب ؟؟؟؟ وايضا هل من الممكن ان يكون هنالك call stack من دون exception object وان كان هذا ممكن فهل يحمل ذلك ال call stack كل ال methods التي تم استدعاؤها في التطبيق ام في كل مرة تنتهي فيها ميثود يتم محوها من ذلك ال call stack ام ماذا ؟؟؟؟ شكرا (;