اذهب إلى المحتوى

Freshlybaked Chocolatechip

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

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

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

أجوبة بواسطة Freshlybaked Chocolatechip

  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. ما هو الشيء الذي ادرسه لاستطيع ان

     

    اعرف كيف يعمل الحاسوب

    لا اعني اللغات و ال machine code 

     

    بل اعني كيف يعمل كيف تعمل اللغات ولماذا تعمل

    كيف يعمل الهارد ويير ولماذا وما هي الاشياء التي تكونه الخ.

    وكيف يعمل الانترنت بتعمق وجميع ما يحصل حينما ادخل دومين في السيرش بار وتاتيني نتيجة ولماذا اتت.

    وفي نفس الوقت اكون software engineer.

     

    باختصار

     

    ارجوا ان تذكر جميع التخصصات التي تجعل استخدامي للحاسوب ممكنا اليوم.

     

    لاختار بينها (; 

  3. لدي الكود بالاسفل

     

    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 صحيح ؟؟؟؟

     

    رجاء لو لم تفهم اي شيء من السؤال قل لي لكي احاول ان اصيغه بطريقة افضل (;

     

  4. بتاريخ On 27‏/7‏/2019 at 04:56 قال طارق جهاد:

    اخي الكريم المتغيران x في كلاس a وكلاس b

    هما متغيران منفصلان، بمعنى ان الكلاس b لم يقم بوراثة هذا المتغير من الكلاس الأب a. وذلك لانك قمت بإعادة تعريفه من جديد

    بالتالي هو غير مفهوم بالنسبة ل a 

    حاول اسناد قيمة x ضمن constructor الخاص بالكلاس b

     

     

     

    اعرف هذا

     

    الاجابة بالنسبة لي ستكون

     

    بسبب ال casting  في a f = new b();f

    على اي حال شكرا (;

  5. اهلا

     

    سمعت ان نوع ال 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 علاقة بالامر ؟؟؟؟

     

    شكرا (;

     

  6. اهلا

    هل ال jvm تبحث في ال call stack عن exception handler مناسب ويكون مع try block يستدعي ال ميثود الي حصل بها ال exception ام اي exception handler مناسب ؟؟؟؟

    وايضا هل من الممكن ان يكون هنالك call stack من دون exception object وان كان هذا ممكن فهل يحمل ذلك ال call stack كل ال methods التي تم استدعاؤها في التطبيق ام في كل مرة تنتهي فيها ميثود يتم محوها من ذلك ال call stack ام ماذا ؟؟؟؟

     

    شكرا (;

×
×
  • أضف...