عرض مشاركة واحدة
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 01-11-2009, 09:55 PM   #4

أحـمـد ظـافـر

مشرف مُتألق سابق

الصورة الرمزية أحـمـد ظـافـر

 
تاريخ التسجيل: Oct 2008
كلية: كلية الهندسة
التخصص: مدنيّة
نوع الدراسة: إنتظام
المستوى: الرابع
البلد: الدول العربية
الجنس: ذكر
المشاركات: 2,472
افتراضي رد: سلسلة دروس تعلم لغـة الجافا ( أول برنامج تعمله بلغة الجافا ) الجزء الثاني

الجزء الثاني من درس اليوم هو :::

الآلة التخيلية للجافا - JVM

(Java Virtual Machine)


تذكر شركة ال Sun Microsystems أن قوة لغة الجافا تكمن في قوة ثلاث وحدات فيها:


الآلة التخيلية Java Virtual Machine

جامع نفايات البرنامج Garbage Collector

أمان الكود Security of the code


و في الواقع فإن المحورين الثاني والثالث، على أهمية عظيمة، و لكنهما يتحركان ضمن المحور الأول و هو الآلة التخيلية.




Class Loader
إن محمل الفئات (Class Loader) يقوم على قراءة الملف (class) و احضاره من المكان الذي تم حفظه فيه إلى الآلة التخيلية. تماماً مثلما يقوم قارئ الملفات في الكومبيوتر باحضار الملفات المطلوبة من القرص الصلب إلى ال CPU وحدة التشغيل المركزية. و يقوم ال Class Loader بالتأكد في الوقت ذاته من عدم وجود أخطاء برمجية.



ByteCode Verifier
كثيرة هي البرامج التي تبدو بريئة في ظاهرها، بينما تحوي ما يكفي من الأمور المدمّرة مخبأة فيها. و لعل البرامج المكتوبة بلغة السي من أبرز الأمثلة على ذلك. فبكتابة برنامج صغير يجمع بكل براءة رقمين و يخزّن الناتج في مكان معين في الذاكرة، يقوم الملف فعلياً بمسح محتويات القرص الصلب! فبعض الأماكن في ذكرة الكومبيوتر حساسة للقيم التي توضع فيها.

لذل فقد أخذت الجافا احتياطها لمثل هذه التجاوزات غير المرغوبة. ففي ال Byte Code Verifier يتم التأكد من عدم تجاوز البرنامج بأي شكل من الأشكال. فلا يقوم بالكتابة في أماكن لا يجب أن يكتب فيها، كما يتم التأكد من عدم احتواء الفئة (ال class) من أي أمر يكسر قواعد اللغة و حواجزها، حتى و لو كان مقبولاً من ناحية ال Syntax أو السياق البرمجي.


Interoreter
يقوم المفسّر بقراءة الأوامر أمراً أمراً. مهمته تتلخّص في أنه يجهّز الأوامر بالتتابع كي يتم تشغيلهم في المرحلة الرابعة.


RunTime
يطلق على الآلة التخيلية للجافا بشكل عام اسم Java RunTime مجازاً فقط. و لكن الواقع أن هذا الجزء من الآلة التخيلية هو الرأس المدبّر (رئيس العصابة يعني، فهذه الوحدة هي التي تقوم بالتشغيل الفعلي للأوامر، و تقوم أيضاً بما يلزم من اتصالات مع نظام التشغيل و أدوات الادخال و غيرها.


تعتبر JVM الجزء الوحيد من بيئة البرمجة الجافيية (ههه) الذي يعرف ما هو نظام التشغيل الذي تعمل عليه البرامج المختلفة. فالفئات كما ذكرت، تعرف أنها يجب أن تعمل لحساب الآلة التخيلية. و هي واحدة في كل مكان مهما اختلف نظام التشغيل و نوع الكومبيوتر. أما الآلة التخيلية نفسها، فهي العضو الذي يتصل بالكومبيوتر.. و يقوم بما يلزم من عرض على الشاشة، أو قراءة من الكيبورد، اذاً لابد أن تعرف ال JVM عن نظام التشغيل الذي تعمل عليه.

 

 

لا تنس #أذكار_الصباح
لا تنس #أذكار_المساء
استغفر الله العظيم الذي لا إله إلا هو الحي القيوم وأتوب إليه.
اللهم صل على محمد وعلى آله وأصحابه والتابعين.
اللهُمَّ إرحم موتَانآ وموتـــــَى المُسلِمينْ والمُسلِمآتْ
اللهُمَّ قِهمْ عذَابَ القـــَبْر وفِتنَته.

اللهُمَّ إٍنَّا نسألُكَ حُسنَ الخَاتِمة .

 

أحـمـد ظـافـر غير متواجد حالياً   رد مع اقتباس