compiler and jvm مفاهيم جافا – الجزء الأول

هذه السلسة لاتشمل المبادئ الأساسية للبرمجة ولاتشمل تعليم البرمجة , في هذه السلسة نحن نعتبر انك مبرمج (ممكن حتى أن تكون  مبرمج جافا ) وهدف السلسة هي تركيز الأساسيات في الجافا او مساعدتك في النقل إلى لغة البرمجة جافا بالتعرف على أساسيات اللغة

أنا نفسي نقلت إلى برمجة الجافا حديثا, بشكل عام مبرمجين الجافا يعاملون اللغة بإنها شيء خاص بهم , ومن الصعب أن يسمحو للمبرمجين من لغات اخرى بالدخول لها, احيانا يقومون بتعقيد الأمور حتى تبدو اللغة صعبة وغير قابلة للتعلم.
هذا غير صحيح! لغة الجافا لغة سهلة التعلم ولكنها تحتوى على كثير من الأمور الخاصة بها كلغة برمجية على خلاف ال php لغة جافا هي ليست لغة   scripting وإنما هي لغة compiled

ما الفرق بين اللغة ال Interpreted or scripting واللغة ال compiled؟

لن ندخل في التفاصيل كثير ولكن بشكل عام كل اللغات يجب قرائتها بلغة ال machine code وهذه اللغة هي عبارة عن لغة byte يستطيع المعالج قرائتها . في حالة ال php نحن نقوم بكتابة الكود ونقوم بتنزيل محرك php بحيث يقوم هو بقراءة الملفات وترجمتها للغة بايت يستطيع المعالج فهمها.

 في الجافا الأمر مختلف ومن الممكن حتى ان يكون ابسط . في الجافا جميع ملفاتنا يجب ترجمتها الى لغة byte code ومن ثم تشغيلها في مايعرف بال JVM

في الجافا عليك بمعرفة أمران !

  1. ملفات الجافا يجب ترجمتها من قبل الكومبايلر الى ملفات byte code من ملفات بلاحقة .java الى ملفات بلاحقة .class
  2. ملفات ال bytecode يتم قرائتها من قبل ال Java Virtual Machine

اي شخص يملك jvm يستطيع تشغيل ملفاتك المترجمة, بالفعل ال JVM تعمل ك Virtual Machine لتشغيل ملفات الجافا حصرا

ال jvm وال compiler في النهاية اصدقاء ولايستطيع احدهم العيش من دون الاخر, بدون الكومبايلر لايمتلك الجي في ام اي كود لقرائته , علما انو الكومبايلر لايقوم بتحويل الملفات فقط وانما يتأكد من صلاحية الملفات قبل تحويلها لذلك يرفض الكومبايلر احيانا بتحويل ملفاتنا اذا كانت تحوي على اخطاء, اما ال جي في ام فهو يهيئ بيئة لتشغيل الملفات ومن دونه لافائدة للكومبايلر لان الملفات ستكون حزينة ووحيدة بدون تشغيلها!

في القسم القادم سنقوم بالتحدث عن مفاهيم كتابة الصف في الجافا 🙂

IMG_1689.JPG

لميس

إسمي لميس, اعمل كمهندسة برمجيات في شركة إكسينغ في ألمانيا. بدأت في رحلة العمل في المجال البرمجي منذ أكثر من ١٠ سنوات في سنة ٢٠٠٣ كانت بداية رحلتي المهنية حيث كانت بدايتي مع ألعاب الفلاش.. حالياََ انا استخدم العديد من الأدوات البرمجية في العمل فنحن بحاجة ماسة للإطلاع على احدث التقنيات. هدفي هو نقل ما أتعلمه للمشاركة به وتبادل الخبرات مع الجميع

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *