جافا java هي لغة برمجية ذات أغراضٍ عامة، متزامنة، غرضية التوجه ومبنية على أساس الفئات (class – based)، وهي بيئة تشغيل تعتمد على آلة الجافا الافتراضية (JVM)ـ والتي هي حجر الأساس الأهم  في منصة الجافا. وتم تسميتها جافا نسبةً إلى قهوة جافا التي يتم انتاجها في إندونيسيا لذلك يقترن اسمها مع فنجان القهوة.1

في هذا المقال سوف نوضّح ما هي جافا وما ميزاتها، وكيف تعمل.

ماهي جافا java

الجافا هي لغة برمجية غرضية التوجه، تشبه لغة C++ لكنها محسنّة ومبسّطة الميزات. والجافا مجانية الوصول وتعمل على كافة المنصات.

لماذا نستخدم جافا

الجافا هي من أكثر اللغات انتشارًا، وقد هيمنت على مجال البرمجة منذ بدايات عام 2000 حتى الوقت الحاضر في 2018. وهي تستخدم في :

  • الخدمات المصرفية: للتعامل مع إدارة المعاملات التجارية.
  • المتاجر: برامج المحاسبة التي تراها في المحلات والمطاعم مكتوبة باستخدام الجافا بشكلٍ كلي.
  • تكنولوجيا المعلومات: الجافا مصمصة لحل مشكلة تبعيات التنفيذ.
  • الأندرويد: تطبيقات الأندرويد أغلبها مكتوبة باستخدام الجافا.
  • البورصة: لكتابة خورازميات تساعدنا في معرفة أي شركة يمكن أن نستثمر بها.
  • المجتمع العلمي والبحثي: تستطيع التعامل مع كمية المعلومات الضخمة.

إضافةً إلى العديد من الاستخدامات الأخرى؛ فالجافا في البرمجة هي كالمحيط الغني بالفرص والخيارات.

تاريخ جافا

طُورت جافا عام 1995 لصالح شركة صن مايكروسيستمز Microsystems  Sun من قبل جايس جوسلينغ وأعضاء فريقه مايك شيريدان وباتريك ناتون والذي كان يُدعى بالفريق الأخضر. تم ابتكارها لصنغ لغةٍ برمجية لتشغيل الأجهزة التطبيقية الذكية مثل التلفزيون التفاعلي، ومن ثم تطورت وأصبحت تستخدم لصنع البرامج المكتبية، برمجيّات الإنترنت، صفحات الإنترنت، وتطبيقات الموبايل وغيرها.

ميزات الجافا

  • متزامنة: حيث يمكن تنفيذ عدة تعليمات في وقتٍ واحد بدلًا من تنفيذ كل منها بشكل متسلسل.
  • لغة برمجبة مبنية باستخدام الفئات وغرضية التوجه.
  • لغة برمجية مستقلة: تتبع مبدأ “اكتبه مرة واحدة ونفذه في أي مكان”. والكود المترجم يمكن أن ينفذ على كل المنصات التي تدعم الجافا.

باختصار، الجافا هي منصة حاسوبية تمكنك من تطوير تطبيقات مختلفة.

خصائص جافا

  •  البساطة: جعلت جافا الحياة أسهل بإزالتها لكل التعقيدات مثل المؤشرات، عمليات التحميل الزائد التي كنا نعاني منها في C ++  وغيرها من اللغات البرمجية.
  • متنقلة: الجافا منصة مستقلة، مما يعني أن أي تطبيق مكتوب على منصة ما يُمكن أن يُنقل بسهولة إلى منصةٍ أخرى.
  • غرضية التوجه: كل شيء (مثل الموظف أو الوقت أو أي شيء) يمكن اعتباره غرض له حالات (state) وسلوك (behavior) ويمكن تنفيذ كل العمليات على هذا الغرض.
  • مؤمّنة: الكود البرمجي بأكمله يحوّل إلى بايت كود (Byte code) بعد التحويل البرمجي، وهو كود غيرمقروء؛ فالجافا لا تستخدم المؤشرات الصريحة، وتنفذ البرنامج ضمن صندوق الاختبار (sandbox) لمنع أي أنشطة غير موثوقة، والحصول على أنظمة خالية من الفيروسات.
  • ديناميكية: لها القدرة على التكيّف مع البيئات المتطورة التي تدعم تخصيص الذاكرة الديناميكي الذي يُخفض الفقد في الذاكرة لتحسين أداء التطبيق.
  • موزّعة: توفر جافا ميزات تساعد في بناء التطبيقات الموزّعة، باستخدام أسلوب الاستدعاء البعيد Remote Method Invocation، فالبرنامج يمكنه استدعاء طريقة (method) من برنامج آخر عبر الشبكة ليعطينا الخرج. يمكنك الوصول إلى الملفات باستدعاء الطرق من أي جهاز على الشبكة.
  • متينة: لدى الجافا نظام إدارة ذاكرة قوي، يساعد في التخلص من الأخطاء بالتحقق من الكود خلال التحويل البرمجي وخلال وقت التنفيذ.
  • أداء عالي: تقدم الجافا أداءً عاليًا بفضل استخدامها للبايت كود (الكود الثماني) الذي يمكن ترجمته بسهولة إلى لغة الآلة المحلية،  ومع محول جافا الآني JIT (Just-In-Time) compilers نحصل على أداءٍ عالٍ.
  • متعددة الأجزاء (Multithreaded ): تدعم جافا التنفيذ المتعدد الأجزاء، بما فيها التعليمات الأولية المتزامنة، مما يجعل من البرمجة أسهل.2

مكونات جافا

ما هي جافا java
مكونات جافا
  • آلة جافا الافتراضية JVM Java Virtual Machine : عند تتم عمليه ترجمة كود ينتج ملف مكون من بايت كود لا يتم فهمه إلا من قبل  JVM التي تقوم بدورها بفتح هذا الملف والتعامل معه عن طريق تحويله إلى كود تفهمه الآله “الحاسوب” وذلك اعتمادًا على نظام التشغيل المستخدم الذي يمكن أن يختلف من مستخدم إلى آخر، كما أنها مسؤولة عن عمليات التحقق من حزم المصفوفات array bounds checking، وجامع نفايات جافا garbage collection.
  • بيئة تشغيل جافا JRE Java Runtime Environment: تحتوي هذه الرزمة علي المكتبات والملفات الخاصة بلغة جافا وأيضًا الملفات المدعومة سواء افتراضيًا مع الجافا أو المضافة عن طريق المبرمج، وتحتوي أيضًا على الأدوات المستخدمة في عملية كتابة الكود مثل الترجمة وغيرها. ولهذا إذا أردت تشغيل أي برنامج  مكتوب بالجافا لابد أن يكون لديك هذه الرزمة على جهازك الخاص.
  • أدوات تطوير جافا JDK Java Development Kit: هي بيئة تطوير برمجيات تستخدم لتطوير تطبيقات الجافا. تُصدرها شركة أوراكل، وتحتوي على بيئة تشغيل جافا (JRE)، محول برمجي، مترجم، منقح، برنامج ضغط الملفات، موثق، وغيرها من الأدوات الضرورية لتطوير برمجيات.

المراجع