‏إظهار الرسائل ذات التسميات Java جافا#. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات Java جافا#. إظهار كافة الرسائل

What is JVM (Java Virtual Machine)? ما هو JVM (آلة جافا الافتراضية)؟

What is JVM (Java Virtual Machine)? ما هو JVM (آلة جافا الافتراضية)؟

What is JVM (Java Virtual Machine)? ما هو JVM (آلة جافا الافتراضية)؟

What is JVM (Java Virtual Machine)? ما هو JVM (آلة جافا الافتراضية)؟

JVM (Java Virtual Machine) هي آلة مجردة.  وهي مواصفة توفر بيئة تشغيل يمكن فيها تنفيذ java bytecode.


 تتوفر JVMs للعديد من الأنظمة الأساسية للأجهزة والبرامج (على سبيل المثال ، تعتمد JVM على النظام الأساسي).


 ما هو JVM

مواصفة حيث يتم تحديد عمل Java Virtual Machine.  لكن مزود التنفيذ مستقل لاختيار الخوارزمية.  تم تنفيذ ذلك من قبل شركة أوراكل وشركات أخرى.

  •  يُعرف تطبيقه باسم JRE (Java Runtime Environment).
  •  مثيل وقت التشغيل عندما تكتب أمر java في موجه الأوامر لتشغيل فئة java ، يتم إنشاء مثيل لـ JVM.

 ماذا تفعل آلة جافا الافتراضية؟ 

يقوم JVM بتنفيذ العملية التالية:
  •  يحمل كود 
  •  يتحقق من الرمز
  •  ينفذ الكود
  •  يوفر بيئة وقت التشغيل

 يوفر JVM تعريفات لـ:

  • منطقة الذاكرة
  •  تنسيق ملف الفصل
  •  مجموعة التسجيل
  •  منظف الذاكرة المسَاماة بجامع القمامة garbage collection التي تم جمعها
  •  الإبلاغ عن خطأ فادح وما إلى ذلك.

شرح الهندسة المعمارية JVM

 دعونا نفهم البنية الداخلية لـ JVM.  يحتوي على محمل الفئة ومنطقة الذاكرة ومحرك التنفيذ وما إلى ذلك.

شرح الهندسة المعمارية JVM

محمل الفئة  Class loader 

 Classloader هو نظام فرعي من JVM يستخدم لتحميل ملفات الفئات.  عندما نقوم بتشغيل برنامج جافا ، يتم تحميله أولاً بواسطة أداة تحميل VM الفئة.  هناك ثلاثة محمل فئات مدمج في Java.

  1.  Bootstrap ClassLoader: هذا هو أول محمل فئة وهو فئة فائقة من محمل فئة الامتداد.  يقوم بتحميل ملف rt.jar الذي يحتوي على جميع ملفات فئات Java Standard Edition مثل فئات حزم java.lang وفئات حزم java.net وفئات حزم java.util وفئات حزم java.io وفئات حزم java.sql إلخ.
  2.  ملحق ClassLoader: هذا هو أداة تحميل الفئة التابعة لـ Bootstrap ومحمل فئة الأصل لمحمل فئة النظام.  يقوم بتحميل ملفات jar الموجودة داخل الدليل $ JAVA_HOME / jre / lib / ext.
  3.  System / Application ClassLoader: هذا هو أداة تحميل فئة تابعة لمحمل تمديد.  يقوم بتحميل classfiles من classpath.  بشكل افتراضي ، يتم تعيين classpath إلى الدليل الحالي.  يمكنك تغيير classpath باستخدام مفتاح التبديل "-cp" أو "-classpath".  يُعرف أيضًا باسم محمل فئة التطبيقات.
//Let's see an example to print the classloader name  
public class ClassLoaderExample  
{  
    public static void main(String[] args)  
    {  
        // Let's print the classloader name of current class.   
        //Application/System classloader will load this class  
        Class c=ClassLoaderExample.class;  
        System.out.println(c.getClassLoader());  
        //If we print the classloader name of String, it will print null because it is an  
        //in-built class which is found in rt.jar, so it is loaded by Bootstrap classloader  
        System.out.println(String.class.getClassLoader());  
    }  
}     
مخرجات كود محمل الفئة. 
sun.misc.Launcher$AppClassLoader@4e0e2f2a
null
هذه هي برامج تحميل الفصل الداخلية التي توفرها Java.  إذا كنت تريد إنشاء أداة تحميل الفصل الخاصة بك ، فأنت بحاجة إلى توسيع فئة ClassLoader.

 2) منطقة الطبقة (دالة)

 تخزن منطقة الفئة (دالة) الهياكل لكل فئة مثل التجمع الثابت لوقت التشغيل وبيانات الحقل الدالة ورمز الدوال .

 3) heap هياكل بيانات على شكل شجرة متخصصة 

 إنها منطقة بيانات وقت التشغيل التي يتم فيها تخصيص الكائنات.

 4) stack المكدس

 يخزن Java Stack الإطارات.  يحمل المتغيرات المحلية والنتائج الجزئية ، ويلعب دورًا في استدعاء العودة والعودة.

 يحتوي كل مؤشر ترابط على مكدس JVM خاص ، يتم إنشاؤه في نفس وقت إنشاء الخيط.

 يتم إنشاء إطار جديد في كل مرة يتم فيها استدعاء طريقة.  يتم إتلاف الإطار عند اكتمال استدعاء الأسلوب الخاص به.

 5) سجل عداد البرنامج

 يحتوي سجل جهاز الكمبيوتر (عداد البرامج) على عنوان تعليمات جهاز Java الظاهري الجاري تنفيذه حاليًا.

 6) مكدس الدالة الأصلية

 يحتوي على جميع الدوال الأصلية المستخدمة في التطبيق.

 7) محرك التنفيذ

 أه يحتوي على:

 معالج افتراضي
 المترجم الفوري: اقرأ تدفق الرمز الثنائي ثم نفذ التعليمات.
 مترجم Just-In-Time (JIT): يستخدم لتحسين الأداء.  يقوم JIT بتجميع أجزاء من كود البايت لها وظائف مماثلة في نفس الوقت ، وبالتالي يقلل من مقدار الوقت اللازم للتجميع.  هنا ، يشير المصطلح "مترجم" إلى مترجم من مجموعة التعليمات الخاصة بجهاز Java الظاهري (JVM) إلى مجموعة التعليمات الخاصة بوحدة معالجة مركزية معينة.

 8) واجهة جافا الأصلية

 Java Native Interface (JNI) هو إطار يوفر واجهة للتواصل مع تطبيق آخر مكتوب بلغة أخرى مثل C و C ++ و Assembly وما إلى ذلك.  يستخدم Java إطار عمل JNI لإرسال الإخراج إلى وحدة التحكم أو التفاعل مع مكتبات نظام التشغيل.

اقرأ أيضا في دروس تعلم عن جافا 

  1.   ماهي المشيدات في جافا ولماذا تستخدم مع أمثلة؟ 
  2. What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟
  3. How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة
  4.   First Java Program | Hello World Example أول برنامج جافا | مثال مرحبا العالم
  5.   How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟
  6.  How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا
  7.   What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM

What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM

 What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM

What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM

What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM

الفرق بين JDK و JRE و JVM
 يجب أن نفهم الاختلافات بين JDK و JRE و JVM قبل المتابعة إلى Java.  انظر لمحة موجزة عن JVM هنا.

 إذا كنت ترغب في الحصول على المعرفة التفصيلية لـ Java Virtual Machine ، فانتقل إلى الصفحة التالية.  أولاً ، دعنا نرى الاختلافات بين JDK و JRE و JVM.

ماهو  JVM

 JVM (Java Virtual Machine) هي آلة مجردة.  يطلق عليه اسم آلة افتراضية لأنه غير موجود فعليًا.  وهي مواصفة توفر بيئة تشغيل يمكن فيها تنفيذ Java bytecode.  يمكنه أيضًا تشغيل تلك البرامج التي تمت كتابتها بلغات أخرى وتم تجميعها في Java bytecode.
تتوفر JVMs للعديد من الأنظمة الأساسية للأجهزة والبرامج.  تعتمد JVM و JRE و JDK على النظام الأساسي لأن تكوين كل نظام تشغيل يختلف عن الآخر.  ومع ذلك ، فإن Java عبارة عن نظام أساسي مستقل.  هناك ثلاثة مفاهيم لـ JVM: المواصفات والتنفيذ والمثال.

 يقوم JVM بتنفيذ المهام الرئيسية التالية:
  • Loads code تحميل الكود
  • Verifies code التحقق من الكود 
  • Executes code تنفيذ الكود 
  • Provides runtime environment تزويد ببيئة وقت التشغيل

ماهو JRE

 JRE هو اختصار لـ Java Runtime Environment.  تتم كتابته أيضًا باسم Java RTE.  Java Runtime Environment عبارة عن مجموعة من الأدوات البرمجية التي تُستخدم لتطوير تطبيقات Java.  يتم استخدامه لتوفير بيئة وقت التشغيل.  إنه تنفيذ JVM.  إنه موجود فعليًا.  يحتوي على مجموعة من المكتبات + الملفات الأخرى التي يستخدمها JVM في وقت التشغيل.

 تم إصدار تنفيذ JVM بنشاط أيضًا من قبل شركات أخرى إلى جانب Sun Micro Systems.

إصدار تنفيذ JVM بنشاط أيضًا من قبل شركات أخرى إلى جانب Sun Micro Systems.

 ماهو JDK

 JDK هو اختصار لـ Java Development Kit.  Java Development Kit (JDK) هي بيئة تطوير برمجيات تُستخدم لتطوير تطبيقات وتطبيقات Java.  إنه موجود فعليًا.  يحتوي على أدوات تطوير JRE +.

 JDK هو تطبيق لأي من أنظمة Java الأساسية المقدمة أدناه والتي أصدرتها شركة Oracle:

  •  الإصدار القياسي لمنصة Java
  •  منصة Java Edition Enterprise
  •  منصة جافا المصغرة Micro Edition Java Platform
 يحتوي JDK على Java Virtual Machine (JVM) وعدد قليل من الموارد الأخرى مثل مترجم / مُحمل (جافا) ، ومترجم (جافا) ، وأرشيف (جرة) ، ومولد توثيق (جافادوك) ، وما إلى ذلك لإكمال  تطوير تطبيق Java.

ماهو JDK












How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا

 How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا

How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا

How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا


يجب تعيين المسار لاستخدام أدوات مثل javac و java وما إلى ذلك.

 إذا كنت تقوم بحفظ ملف Java المصدر داخل دليل JDK / bin ، فلا يلزم تعيين المسار لأن جميع الأدوات ستكون متاحة في الدليل الحالي.

 ومع ذلك ، إذا كان لديك ملف Java الخاص بك خارج مجلد JDK / bin ، فمن الضروري تعيين مسار JDK.

 هناك طريقتان لتعيين المسار في Java:
  • مؤقت
  •  دائم
 1) كيفية تعيين المسار المؤقت لـ JDK في Windows
 لتعيين مسار JDK المؤقت ، عليك اتباع الخطوات التالية:

 افتح موجه الأوامر
 انسخ مسار دليل JDK / bin
 اكتب في موجه الأوامر: set path = مسار المجلد 
 فمثلا:
set path=C:\Program Files\Java\jdk1.6.0_23\bin
How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا

2) كيفية تعيين مسار JDK الدائم في Windows

 لتعيين المسار الدائم لـ JDK ، عليك اتباع الخطوات التالية:

 انتقل إلى خصائص MyComputer -> علامة التبويب المتقدمة -> متغيرات البيئة  Environment Variables-> علامة تبويب جديدة لمتغير المستخدم -> اكتب مسارًا باسم متغير -> اكتب مسار مجلد bin بقيمة متغيرة -> موافق -> موافق -> موافق

1  خصائص الكمبيوتر  MyComputer properties 

Go to MyComputer properties
2 زر خصائص متقدمة advanced tab
advanced tab

3 متغيرات البيئة environment variables

environment variables

4 اضغط على زر جديد متغيرات المستخدمnew tab of user variables 

new tab of user variables

5 اكتب المسار في اسم المتغير

اكتب المسار في اسم المتغير

6 انسخ مسار مجلد bin

انسخ مسار مجلد bin

7 قم بلصق مسار مجلد bin في القيمة المتغيرة

قم بلصق مسار مجلد bin في القيمة المتغيرة

8 انقر فوق زر موافق

انقر فوق زر موافق

9 انقر فوق زر موافق

انقر فوق زر موافق


الآن تم تعيين مسارك الدائم.  يمكنك الآن تنفيذ أي برنامج جافا من أي محرك أقراص.

كيف تعين مسار مجلد جاف في لينكس

 ضبط مسار Java في Linux OS

 يعد تحديد المسار في نظام التشغيل Linux هو نفسه تعيين المسار في نظام التشغيل Windows.  ولكن ، هنا نستخدم أداة التصدير بدلاً من تعيينها.  دعونا نرى كيفية تعيين المسار في Linux OS:


export PATH=$PATH:/home/jdk1.6.01/bin


اقرأ أيضا في دروس تعلم عن جافا 

  1.   ماهي المشيدات في جافا ولماذا تستخدم مع أمثلة؟ 
  2. What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟
  3. How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة
  4.   First Java Program | Hello World Example أول برنامج جافا | مثال مرحبا العالم
  5.   How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟


How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟

 How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟

How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟

How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟

قبل الإجابة عن هذا السؤال هو علينا اولا ان نفهم كيف نكتب ونجمع الكود حتى نفهم كيف يتم تجميع الكود وتشغيل البرنامج من خلال نواة جافا. 

How to Compile and Run Java Program كيفية ترجمة وتشغيل برنامج جافا

الخطوة 1:
 اكتب برنامجًا على المفكرة واحفظه بامتداد .java (على سبيل المثال ، DemoFile.java).
class DemoFile  
{  
public static void main(String args[])  
{  
System.out.println("Hello!");  
System.out.println("Java");  
}  
}  

الخطوة 2:
افتح موجه الأوامر command prompt 

الخطوة 3:
عيّن الدليل الذي تم حفظ ملف .java فيه.  في حالتنا ، يتم حفظ ملف .java في C: \\ demo

How to Compile and Run Java Program كيفية ترجمة وتشغيل برنامج جافا

الخطوة الرابعة:
 استخدم الأمر التالي لتجميع برنامج Java.  يقوم بإنشاء ملف فئة في نفس المجلد.  كما يظهر خطأ إن وجد.
javac DemoFile.java
الخطوة الخامسة:
 استخدم الأمر التالي لتشغيل برنامج جافا Java:
java DemoFile  
استخدم الأمر التالي لتشغيل برنامج جافا Java

How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟

الان نعود الي الإجابة عن كيفية تجميع وتشغيل برنامج جافا. 
في الصفحة السابقة ، تعرفنا على البرنامج الأول ، وكيفية تجميع وتشغيل أول برنامج جافا.  هنا ، سوف نتعلم ، ماذا يحدث أثناء تجميع وتشغيل برنامج جافا.  علاوة على ذلك ، سنرى بعض الأسئلة بناءً على البرنامج الأول.

 ماذا يحدث في وقت الترجمة؟

 في وقت الترجمة ، يتم تجميع ملف java بواسطة مجمع جافا Java Compiler (لا يتفاعل مع نظام التشغيل) ويقوم بتحويل كود جافا java إلى رمز بايت.

What happens at runtime?ماذا يحدث في وقت التشغيل برنامج جافا؟

What happens at runtime?ماذا يحدث في وقت التشغيل برنامج جافا؟

  • Classloader: هو النظام الفرعي لـ JVM الذي يستخدم لتحميل ملفات الفئات.
  •  Bytecode Verifier: يتحقق من أجزاء التعليمات البرمجية بحثًا عن رمز غير قانونية يمكن أن ينتهك حق الوصول إلى الكائنات.
  •  المفسر Interpreter: يقرأ كود  الثنائي ثم ينفذ التعليمات.

هل يمكنك حفظ ملف جافا المصدر باسم آخر غير اسم الفئة Can you save a java source file by other name than the class name?؟

نعم ، إذا لم تكن الفئة عامًا.  يتم شرحه في الشكل الموضح أدناه:
هل يمكنك حفظ ملف جافا المصدر باسم آخر غير اسم الفئة Can you save a java source file by other name than the class name?؟

للترجمة: javac Hard.java
 للتنفيذ: java Simple

هل يمكن أن يكون لديك فئات متعددة في ملف جافا المصدر؟Can you have multiple classes in a java source file?

 نعم ، كما يوضح الشكل أدناه:
Can you have multiple classes in a java source file?




What is Java programming language? ما هي لغة برمجة جافا؟

What is Java programming language? ما هي لغة برمجة جافا؟

What is Java programming language? ما هي لغة برمجة جافا؟

مقدمة عن لغة البرمجة جافا introduction to java language

تاريخ جافا

جافا تم تطويرها من قبل شركة صن مايكروسيتمز قبل ان تشتريها شركة اوراكل. 

تعتبر لغة الجافا من اللغات القوية جداً في مجال إنشاء التطبيقات المختلفة سواء كانت هذه التطبيقات 
تعمل منفردة على أجهزة الكمبيوتر الشخصي أو تطبيقات الإنترنت أو التطبيقات المختلفة للأجهزة المحمولة , مثل الموبايل والمفكرات الإلكترونية  وهكذا.      
ولقد قامت شركة صن (Sun Microsystems) باختراع وتطوير هذه اللغة. وأصبحت شركة صن مملوكة لشركة أوراكل وبالتالي انتقلت ملكية الجافا لأوراكل . وكان الهدف عند اختراع لغة الجافا هو عمل لغة قادرة على برمجة نظم التشغيل لجميع الأجهزة من حاسبات عملاقة (mainframes) إلى الأجهزة الصغيرة مثل مشغلات MP3 ولقد اختارت الشركة صورة فنجان القهوة لتمثيل هذه اللغة .

قبل البدء في عملية البرمجة ( أي كتابة البرنامج المطلوب تنفيذه ) بلغة الجافا لابد من توافر العدة اللازمة (Tool Kit) . وهذه العدة عبارة عن البرامج اللازمة لعملية كتابة البرنامج نفسه ونقول أننا كتبنا برنامج بلغة الجافا . بعد ذلك تأتي عملية الترجمة لهذا البرنامج وهي ما نطلق عليها عملية الترجمة (compiling).
والحقيقة فأنه يوجد أكثر من طريقة لكتابة برامج الجافا وترجمتها نوجز منها :
1. استعمال المكتبة (JDK) وهي اختصار JAVA DEVELOPMENTE KIT من إنتاج شركة صن مع أي محرر نصوص وليكن برنامج Notepad الموجود في الويندوز.
2. استعمال برامج وسيطة تسهل عملية الكتابة والترجمة وتصحيح الأخطاء مثل برنامج   (Net Beans – Jcreator …).
   وسوف نتناول في الجزء الخاص بالمعمل كيفية تثبيت هذه البرامج على جهاز الحاسب وكيفية       التعامل معها. والشكل ( 1-1  ) يبين كيفية عمل لغة الجافا .


ويوجد عدة نسخ للغة الجافا هي :-
1. J2SE: هي اختصار ل Java 2 Standard Edition يتم من خلالها دراسة اللغة وإنشاء التطبيقات المختلفة لتشغيلها على جهاز الحاسب desktop Application)). وسوف تكون هي موضوع دراستنا في هذا الكتاب.
2. J2EE: هي اختصار ل Java 2 Enterprise Edition وهي تزودنا بالتطبيقات الكبيرة على مستوى الشركات الكبيرة.
3. J2ME: هي اختصار ل Java 2 Micro Edition فهي تخص الأجهزة اللاسلكية (wireless devices) بشكل عام يعني على أجهزة المحمول وغيرها.

 ماذا نعني بالبرمجة

البرمجة تعني : مجموعة من الأوامر والتعليمات التي تعطى للحاسب في صورة برنامج مكتوب بلغة برمجة معينة بواسطة معالج نصوص ويتكون مصدر البرنامج من عدة سطور وكل سطر يعتبر جملة ويتعامل الحاسب مع كل جملة بترتيب معين لإنجاز الأمر الذي صمم البرنامج لتحقيقه 

ولكن أريد أن أتعرف على أمثلة للغات البرمجة 


توجد لغات برمجة عديدة إلا أنه يوجد فيها نوع من التخصص حيث يعتمد إختيار اللغة على المهام التي نريد من الحاسب إنجازها حيث أن لكل لغة ما يناسبها وهناك مهام يصعب تنفيذها بلغة معينة ولكنها تكون ميسورة بلغة أخرى ومن اللغات التي ظهرت في فترة الستينات لغة البيسك وهي لغات تدرس للمبتدئين وكلمة بيسك لفظة أوائلية تشكل الحروف الأولى من
Biginners All Symbolic Instruction Cod 
  • وظهرت بعدها لغة فيجوال بيسك التي وضعتها ميكروسوفت وهي غنية عن التعريف ولها مميزات عديدة حيث تجمع بين سهولة لغة البيسك وتصميم برامج ذات واجهة رسومية وأيضا فيجوال بيسك سكريبت التي تقدم بريمجات تعمل ضمن صفحات الانترنت وأيضا لغة السي بلاس بلاس ذائعة الصيت وهي لغة برمجة تم ابتكارها كتطوير للغة السي التي هي الأخرى تحسين للغة البي وهناك العشرات من لغات البرمجة الأخرى ولكن الآن نأتي لبيت القصيد وموضوعنا اليوم وهي اللغة التي أدهشت العالم ألا وهي لغة الجافاأريد أن أعرف المزيد ؟ابتكر لغة الجافا المهندس جيمس جوزلينج في أوائل التسيعينات من القرن المنصرم 1992 أثناء عمله في مختبرات شركة صن ميكروسيستمز وذلك لإستخدامها بمثابة العقل المفكر المستخدم لتشغيل الأجهزة التطبيقية الذكية مثل التيلفزيون التفاعلي وقد كانت لغة الجافا تطويرا للغة السي بلاس بلاس وعند ولادتها أطلق عليها مبتكرها أواك بمعنى شجرة السنديان وهي الشجرة التي كان يراها من نافذة مكتبه وهو يعمل في مختبرات صن ميكروسيستمز ثم تغير الاسم الى جافا وهذا الاسم على غير العادة في تسمية لغات البرمجة ليس الحروف الأولى من كلمات جملة معينة أو تعبيرا بمعنى معين ولكنه مجرد اسم وضعه مطوروا هذه اللغة لينافس الأسماء الأخرىما مميزات الجافا ؟ تتميز لغة الجافا بمميزات خاصة مما يجعلها أكثر لغات البرمجة إثارة حيث تمكننا من الآتي 
  • اضافة الحركة والصوت الى صفحات الويب 
  • كتابة الألعاب والبرامج المساعدة 
  • انشاء برامج ذات واجهة مستخدم رسومية 
  • تصميم برمجيات تستفيد من كل مميزات الأنترنت توفر لغة الجافا بيئة تفاعلية عبر الشبكة العنكبوتية وبالتالي تستعمل لكتابة برامج تعليمية للإنترنت عبر برمجيات المحاكاة الحاسوبية للتجارب العلمية وبرمجيات الفصول الإفتراضية للتعليم الإلكتروني والتعليم عن بعدما الذي يسهل تعلم الجافا ؟ على الرغم من صعوبة عملية البرمجة التي تتطلب عادة أربع سنوات دراسية للحصول على مؤهل جامعي في مجال تقنية المعلومات وجهاز حاسب شخصي وقدرات ذهنية مرتفعة وصبر طويل إلا أن تعلم البرمجة بلغة الجافا يعد أسهل من تعلم البرمجة بلغات أخرى والسبب هو انتشار الانترنت حيث تتوفر أدوات البرمجة بهذه اللغة على موقع شركة صن ميكروسيستمز كما يمكن تحميل برامج جافا من مواقع انترنت مختلفة ما متطلبات البرمجة ؟ 


Interpreter ماهو المفسر في لغة البرمجة

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

Compiler ماهو المترجم في لغة البرمجة 

يتطلب البعض الآخر من لغات البرمجة مترجما يقوم بترجمة البرنامج وتحويله الى شكل يفهمه الحاسب وتتميز البرامج المترجمة بسرعة تشغيلها ولكن يعيبها الحاجة الى وقت أطول لإختبارها حيث يكتب البرنامج ثم يترجم ثم يجرب وفي حالة وجود أخطاء يجب تصحيحها أولا ثم يعاد ترجمته ومن ثم تجريبه للتحقق من زوال الخطأ
ولغة الجافا لغة فريدة تتطلب مترجما ومفسرا ما الذي أحتاجه لكي أكتب برنامجا بلغة الجافا ؟ Java Developers Kit ( JDK) عدة تطوير الجافا
تعتبر هذه الأداة الأولى التي وضعها مطوروا الجافا بشركة صن ميكروسيستمز ورغم وجود أدوات برمجة أخرى من عدة شركات منافسة إلا أنه من الأفضل أن نأخذ الأمر ممن طوره وهذه الأداة قد صدرت في عدة إصدارات ويمكن تحميل هذه الأدوات من موقع صن ميكروسيستمز
ثانيا محرر نصوص لكتابة البرامج ولكن لماذا نالت الجافا هذه الشهرة والإهتمام العالمي ؟& لكي نجيب عن هذا التساؤل نتعرف أولا على الطريقة التي طورت بها لغة الجافا ففي أوائل التسعينيات من القرن العشرين 1990 اخترعت لغة الجافا شركة صن ميكروسيستمز ولهذا الإختراع قصة عجيبة حيث أن الشركة كانت قبل ذلك قد كلفت المهندس جيمس جوزلينج بوضع برامج لتشغيل الأجهزة التطبيقية الذكية مثل التيلفزيون التفاعلي باستخدام لغة سي بلاس بلاس وحينها وجد جيمس جوزلينج صعوبة في في التعامل مع هذه اللغة فقام هو وفريق العمل المساعد له بتطوير هذه اللغة فولدت لغة جديدة تتوافق مع احتياجاته فكانت لغة الجافا وقد خططت شركة صن في تلك الأيام لاستغلال هذه اللغة الوليدة في التيلفزيون التفاعلي لكي تربح المليارات وحدث نوع من البطء في مشروع التلفزيون التفاعلي ــ ربما عن قصد من الشركات الأخرى المنافسة ــ ونتيجة لذلك فكرت شركة صن في توقيف مشروع تطوير هذه اللغة الوليدة وتسريح العاملين في هذا المشروع أو نقلهم الى قسم آخر ولكن حدث ما لم يكن في الحسبان حيث أنه في هذه الفترة كانت الانترنت قد بدأت في الإنتشار بسرعة مذهلة مع نزول نظام الويندوز للأسواق وحيث أن لغة الجافا الوليدة التي اخترعت أصلا لبرمجة الأجهزة التطبيقية فيها من السمات ما يجعلها أكثر توافقا مع الشبكة العنكبوتية الدولية ـ الإنترنت ـ فقد كان لها السبق وأضافت الكثير الى الإنترنت الذي كان قبلها مقصورا على تبادل النصوص ولكن المطورين بشركة صن ابتكروا طريقة تجعل برامج الجافا تعمل بسهولة في صفحات الإنترنت وغيروا الإسم الذي كان قد أطلقه عليه مبتكرها من أواك ـ شجرة السنديان ـ الى الجافا ومن هنا أصبحت الجافا مرتبطة في شهرتها بالإنترنت حيث أن برنامج جافا صغير يوضع في صفحة من صفحات موقع على الشبكة الدولية يراه الملايين في جميع أنحاء العالم في نفس الوقت وقد كان هذا لا يتوفر الا مع الجافا مما أعطاها شهرة واسعة أكبر من شهرة نجوم هوليود ولحسن حظ شركة صن أن لغة الجافا أكدت نفسها في المجال الذي طورت له أصلا فقد بدأ الآن التيلفزيون التفاعلي في الانتشار وما يسمى سينما المنزل والمشاهدة حسب الطلب وليس هذا فقط بل إنتشر ما هو أكثر فائدة لشركة صن وهو الهاتف المحمول وللجافا أكبر دور في برمجة البرامج التي يعمل بها في أجياله السابقة واللاحقة ولا نستغرب أن يحدث نوع من الغيرة بين شركة ميكروسوفت وشركة صن ميكروسيستمز مما دفع ميكروسوفت الى أن تحذف ماكينة الجافاالافتراضية من الاصدارة الاولى للويندوز اكس بي وهذه الماكينة الافتراضية مسئولة عن عرض برامج الجافا على الانترنت ولكن ميكروسوفت تراجعت أمام طلب ملايين المستخدمين حول العالم فوضعتها مرة ثانية في الإصدارات اللاحقة وقد كانت قضية مشهورة تناولتها الصحف والمجلات خلال العام الماضي
وقد ساهم في شهرة الجافا أيضا برامجها العلمية التفاعلية التي تصلح لمعظم المناهج التعليمية في جميع مراحل التعليم وبالتالي فان لها دورا كبيرا في التعليم الالكتروني والتعليم عن بعد والفصول الافتراضية

لغة الجافا:
هي لغة حديثة أنتجتها شركة سن(Sun) عام 1995م لتناسب التطبيقات الحديثة.وهي تناسب تطبيقات الإنترنت حيث أصبحتهي قلب برمجة الإنترنت بما توفره من إمكانيات .

تتصف لغة الجافا بالصفات التالية :

  • لغة برمجية تدعم مبادئ الكائنية. 
  • لها بيئة تشغيل خاصة بها .JVM 
  • تقوم على لغة Cو.C++ 
  • تعمل على معظم نظم التشغيل.

ماهي بيئة التشغيل(JVM):

الحروف JVM اختصارللعبارة( Java Virtual Machine ) وهي فكرة قامت جافا بإنشائها لتجعل لغة جافا تعمل على جميع أو معظمأنظمة التشغيل . وتقوم الفكرة على إنشاء طبقة وسيطة Softwareكأنهابرنامج تشغيل للبرامجRuntime لكل نظام تشغيل يتم إنزاله أولاً على الأجهزة بحيثتفهم هي برامج جافا وتفسرها لنظام التشغيل ثم الجهاز ولهذا كان من مزايا لغة جافاأنها تعمل على كثير من نظم التشغيل الموجودة بعد إعداد JVM الخاصة بمعظم أنظمةالتشغيل .. فلا يهم إذا كان البرنامج مكتوب لنظام التشغيل WINDOWS أو UNIXوالمهم أنالبرنامج يكتب ثم يحمل إلى الجهاز وعلى الجهاز يوجد JVM للنظام الموجود وبالتالييعمل البرنامج .

ما الفرق بين Java و JavaScript:


الفرق بينهما شاسع.... فهما لغتان مختلفتان تماما أو لنقل لغة و سكريبت ...هذه بعض الفروق الأساسية بينهما:

  •  لغة الـ Java يكون النص البرمجي لها "Code" محفوظا في ملفات متعددة بينما في JavaScript فان نصها البرمجي مضمن في صفحات الـ HTML.
  •  لغة الـ JavaScript تستخدم لتعزيز قدرة الـ HTML على التحكم بطريقة عرضالمعلومات على الشاشة بينما باستخدام Java يمكن عمل "برامج" منفصلة كتطبيقات سطحالمكتب أو حتى الـ applets .... او عمل الربط بين العميل و الخادمClient/Server مثل PHP او ASP.
  • يمكن دائما رؤية و تعديل نص الـ JavaScript من خلال أي برنامج تحرير نصوصومن ثم حفظ الملف بصيغة html و عرضه على أي متصفح انترنت .... بينما برامج الـ Java تحتاج إلى عمل compile ومن ثم interpret لها قبل "تنفيذها".

ماهو ألJDK؟

Java Developers Kit ( JDK) عدة تطوير الجافا تعتبر هذه الأداة الأولى التي وضعها مطوروالجافا بشركة صن ميكروسيستمز ورغم وجود أدواتبرمجة أخرى من عدة شركات منافسة إلا أنه من الأفضل أن نأخذ الأمر ممن طوره وهذهالأداة قد صدرت في عدة إصدارات ويمكن تحميل هذه الأدوات من موقع صنميكروسيستمز.

ماهي طريقة تحميل اللغة جافا:

لكي نكتب برنامج بلغة الجافا يجب أولا إعداد الحاسبوتجهيزه بنوع من البرمجيات الخاصة ببرمجة الجافا:

أولا :تحميل JVM.
ثانياً:تحميل JDK.
ثالثاً:تحميل J2SE.
رابعاً:Java Editor(JCreator).:JCreatorإحدى البرامج المعدّة لتسهيل كتابة برامج لغة الجافا فهي بيئة تطوير متكاملة و خفيفة لمبرمجي جافا. مميزات البرنامج تحتوي على ادارة المشاريع و القوالب و ابراز المصدر و غيرها الكثير.

ملاحظة:
 يمكن كتابة برامج الجافا في محرر نصوص عادي وتنفيذه في بيئة الـDos.

ملاحظات خاصة باللغة جافا :

اللغة حساسة للأحرف الصغيرة الكبيرة.
جمل التعليق في الجافا كما في لغة الـC //لسطر واحد و /* ------*/ لاكثر من سطر .
يمكن استخدام اسطر فارغة لا تؤثر في الترجمة .
يجب حفظ الملف الخاص بالبرنامج بامتداد .java
ماهي الكلمات الرئيسية او المحجوزة في جافا

الكلمات المحجوزة في اللغة

public

finally

abstract

return

float

boolean

short

for

break

static

if

byte

super

implements

case

switch

import

catch

synchronized

instanceof

char

this

int

class

throw

interface

continue

throws

long

default

transient

native

do

true

new

double

try

null

else

void

package

extends

volatile

private

false

while

protected

final


يوضح الجدول التالي بعض التعليمات بلغة الجافا وتوضيح سير عملها.

تعليمات برمجية

وصفها

System.out.print("---")

وهذه الجملة تقوم بإظهار الجمل النصية وكذلك أي معلومات أو بيانات في نافذة الأوامر (command window) حيث يتم تنفيذ برامج الجافا.ويظل المؤشر في نفس السطر.

System.out.println("---")

نفس التعليمة السابقة ولكن تتم الطباعة وينتقل المؤشر سطر جديد.

Integer.parseInt

( firstNumber );

تقوم هذه الدالة بتحويل القيمة النصية المرره للدالة- firstNumber - إلى قيمة صحيحة . وتسند الدالة إلى متغير من نوع Int.

Double.parseDouble (firstNumber)

تقوم هذه الدالة بتحويل القيمة النصية المرره للدالة- firstNumber - إلى متغير من نوع Double . وتسند الدالة إلى متغير من نوعDouble.

import javax.swing.JOptionPane;

هذه العبارة يتم إضافتها في بداية البرنامج مثل عبارة #include في لغة الC .

تعمل هذه العبارة على تضمين الكائن المسمى JOptionPane من الحزمة المسماة javax.swing. وهذه الحزمة تحتوي على كثير من الكائنات الخاصة بالرسومات و التعامل مع المستخدم والتي تسهل إدخال و إخراج البيانات من خلال مربعات الحوار.

import javax.swing.*;

هذه العبارة يتم إضافتها في بداية البرنامج مثل عبارة #include في لغة الC .

تعمل هذه العبارة على تضمين كافة الكائنات الموجودة في الحزمة javax.swing.

JOptionPane.showInputDialog( "---" );

يتم استدعاء الدالةshowInputDialog( ) الموجودة في الكلاس JOptionPane والتي تعمل على استقبال مدخلات من المستخدم على هيئة String . ولهاوسيط واحد و الذي يمثل عبارة توضيحية تظهر في مربع الحوار.و يتم اسناد القيمة المدخلة من قبل المستخدم الى متغير من نوع String.

System.exit(0);

تستخدم هذة الدالة لإنهاء التطبيق.

JOptionPane.showMessageDialog

(null,"" ,"" , );

يتم استدعاء الدالةshowMessageDialog() من الكلاس المسمى JOptionPaneوهذه الدالة تقوم بإظهار مربع حوار لعرض المخرجات ولها وسيطين أو أربعة :

الأول : دائماً سيكون الكلمة null ، وهو يحدد المكان الذي يظهر فيه صندوق الحوار ،و في هذه الحالة فإن صندوق الحوار سوف يظهر في منتصف الشاشة ،

 الثاني : فهو النص المراد إظهاره.

 الثالث : يمثل النص الذي سوف يظهر في سطر العنوان لمربع الحوار .

الرابع: يمثل الرمز الذي يبين نوع مربع الحوار.

ويوجد مجموعة من الرموز التي يمكن إظهارها في صندوق الحوار لتساعد المستخدم في معرفة نوع صندوق الحوار و الرسالة التي تظهر فية و هذة الرموز في الجدول التالي:


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


public class MyFirstJavaProgram
 {

    public static void main(String []args)
 {
       System.out.println("Hello World");
    }
}  

ماهي مميزات لغة البرمجة جافا

1 كائنية التوجه object oriented 
2 مستقلة عن المنصة أي يمكن تشغيلها في اي الة سواء حاسوب كمبيوتر او حتى صاروخ كل ما تحتاجه أن يكون  محمل على على الالة برنامج  الة جافا الافتراضي java  virtually  machine وايضا مستقلة عن نظام التشغيل
3 بسيطة فهي سهلة التعلم اذا كانت لديك خلفية في البرمجة كائنية  التوجه oop.
4  معمارية محايدة فيمكنها ان اعمل على عدة معالجات.
5 القابلية للنقل فانت ليس بحاجة القلق لتنصيب برامج إضافية لكي يعمل برنامجك المبرمج للغة جافا.
6 القابلية ونقصد فيها الفاعلية القوية في اقتناص الأخطاء البرمجية أثناء البرمجة
7 المعالجة المقسمة او المجزءة  وهي تفيد أنها لا تسبب ببطء في حال كان هناك ضغط على المعالج. كما السرعة في المعالج.
8 كما تحتوي على مفسر.
9 الأداء العالي.
10 موزعة اي يمكن نشرها على الإنترنت.
11 الدينامكية في أكثر دينامكية من سي بلس بلس.


اقرأ أيضا في دروس تعلم عن جافا 

  1.   ماهي المشيدات في جافا ولماذا تستخدم مع أمثلة؟ 
  2. What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟
  3. How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة
  4.   First Java Program | Hello World Example أول برنامج جافا | مثال مرحبا العالم
  5.   How a Java program is compiled and run?كيف يتم تجميع وتشغيل برنامج جافا؟
  6.  How to set path in Java? كيف تغير مسار الدليل او المجلد في مكتبة جافا
  7.   What are the Difference between JDK, JRE, and JVM? ما هو الفرق بين JDK و JRE و JVM
  8.   What is JVM (Java Virtual Machine)? ما هو JVM (آلة جافا الافتراضية)؟
  9. What is Java Development Kit and its purpose?ما هي مجموعة تطوير جافا والغرض منها؟ jdk
  10. What is Java appletما هو تطبيق جافا ابلايت ؟او التصبيق المصغر
  11.   ماهي أنواع المتغيرات في جافا What are Java Variable Types 
  12.   ما هي أنواع البيانات الأساسية في جافا Java Basic What are  Datatypes#
  13.  What is Unicode with example? Java? ما هو الترميز الموحد مع المثال؟  جافا؟
  14.  ماهي عوامل التشغيل او المشغلات  الأساسية في جافا Java Basic What are the Operators#
  15.  What are reserved keywords in Java? ما هي الكلمات الرئيسية المحجوزة في جافا؟
  16.  الجمل الشرطية ما هي أنواع صنع القرار في برمجة جافا Java Decision Making#
  17.  ما هي الجملة الشرطية اذا في جافا if statement in java
  18.  ما هي الجملة الشرطية  اذا  اذا كان   في جافا if else statement in java
  19.   ما هي الجملة الشرطية  التبديل في جافا switch statement in java
  20.   ما هي الجمل الشرطية المتداخلة او المركبة في جافا nested if statement in java
  21.   ما هي جمل التكرار أو الحلقة الدوارة في جافا Java Loop Control#
  22.   ماهي حلقة التكرار فور  وفور ايتش في برمجة جافا for loop in java#
  23.  ماهي حلقة التكرار أو الدوارة بينما في جافا while Loop in java 
  24.  What is the while loop in Java? & How do you use it? ما هي حلقة التكرار افعل... بينما في جافا 
  25.  كيفية استخدام جملة الاستمرار والمتابعة في حلقات التكرار والدوارة في جافا Continue statement in java#
  26.  What is the difference between Argument and Parameter in Java? ما الفرق بين المعلمات والمحولات في جافا
  27.  كيفية القراءة والكتابة على الملف في جافا، ما هي دالة الإدخال والإخراج في جافا ماهو التدفق i/O Java stream 
  28.  ما هي دالة القيمة المطلقة في جافا Java  abs() Method



Dd

 

                

Bc






First Java Program | Hello World Example أول برنامج جافا | مثال مرحبا العالم

 First Java Program | Hello World Example أول برنامج جافا |  مثال مرحبا العالم

First Java Program | Hello World Example أول برنامج جافا |  مثال مرحبا العالم


First Java Program | Hello World Example أول برنامج جافا |  مثال مرحبا العالم 

في هذه الصفحة سوف نتعلم كيفية كتابة برنامج جافا البسيط. يمكننا كتابة برنامج hello java بسيط بسهولة بعد تثبيت JDK.

لإنشاء برنامج جافا بسيط ، تحتاج إلى إنشاء فئة تحتوي على الطريقة الرئيسية. دعنا نفهم المتطلبات أولاً.

متطلبات Java Hello World Example

لتنفيذ أي برنامج جافا ، تحتاج إلى

  • قم بتثبيت JDK إذا لم تقم بتثبيته ، قم بتنزيل JDK وتثبيته.
  • حدد مسار دليل jdk / bin. 
  • أنشئ برنامج جافا
  • تجميع وتشغيل برنامج جافا

مثال إنشاء Hello World

class Simple{  
    public static void main(String args[]){  
     System.out.println("Hello Java");  
    }  
}  
احفظ هذا الملف باسم Simple.java
 للترجمة: javac Simple.java
 للتنفيذ: java Simple
Hello Java

مخطط التدفق  لترجمة الكود:

مخطط التدفق  لترجمة الكود

 عندما نقوم بتجميع برنامج Java باستخدام أداة javac ، يقوم مترجم java بتحويل شفرة المصدر إلى كود بايت.

المعلمات او الباراميترات المستخدمة في برنامج Java الأول

 لنرى ما معنى class، public، static، void، main، String []، System.out.println ().

  •  Class تستخدم الكلمة الأساسية فئة للإعلان عن فئة في جافا.
  • Public  الكلمة الأساسية العامة هي معدِّل وصول يمثل الرؤية.  هذا يعني أنه مرئي للجميع.
  • Static ثابت هو كلمة أساسية.  إذا أعلنا أن أي دالة ثابتة ، فإنها تُعرف بالدالة الثابتة.  الميزة الأساسية للدالة الثابتة هي أنه لا توجد حاجة لإنشاء كائن لاستدعاء الدالة الثابتة.  يتم تنفيذ الدالة الرئيسية بواسطة JVM ، لذلك لا يتطلب إنشاء كائن لاستدعاء الدالة الرئيسية.  لذلك يحفظ الذاكرة.
  •  Void الفراغ هو نوع الإرجاع للدالة.  هذا يعني أنه لا يُرجع أي قيمة.
  •  Main يمثل الرئيس نقطة انطلاق البرنامج.
  •  يتم استخدام سلسلة [] args لوسيطة سطر الأوامر.  سوف نتعلمه لاحقا.
  •  يستخدم System.out.println () لطباعة البيان.  هنا ، النظام عبارة عن فئة ، الخارج هو كائن فئة PrintStream ، والطباعة println () هي دالة فئة PrintStream.  سنتعرف على العمل الداخلي لبيان System.out.println لاحقًا.

كتابة برنامج جافا باستخدام المفكرة او الدفتر 

لكتابة البرنامج البسيط ، تحتاج إلى فتح المفكرة من خلال قائمة البداية -> كافة البرامج -> الملحقات -> المفكرة وكتابة برنامج بسيط كما هو موضح أدناه:
كتابة برنامج جافا باستخدام المفكرة او الدفتر

كما هو موضح في الرسم البياني أعلاه ، اكتب برنامج جافا البسيط في المفكرة وحفظه باسم Simple.java.  لتجميع هذا البرنامج وتشغيله ، تحتاج إلى فتح موجه الأوامر من خلال قائمة ابدأ -> كافة البرامج -> الملحقات -> موجه الأوامر.

ترجمة الكود عن طريق موجه الأوامر 

ترجمة الكود عن طريق موجه الأوامر
لتجميع وتشغيل البرنامج أعلاه ، انتقل إلى الدليل الحالي أولاً ؛  دليلي الحالي هو c: \ new.  اكتب هنا:
 للترجمة: javac Simple.java
 للتنفيذ: java Simple

كم عدد الطرق التي يمكننا بها كتابة برنامج Java

 هناك العديد من الطرق لكتابة برنامج Java.  فيما يلي التعديلات التي يمكن إجراؤها في برنامج Java:

  •   عن طريق تغيير تسلسل المعدلات او محددات الوصول ، لا يتم تغيير النموذج الأولي للدالة في Java.
 دعونا نرى الكود البسيط للدالة الرئيسية.
static public void main(String args[])  
  • يمكن استخدام الترميز المنخفض في مصفوفة Java بعد الكتابة ، قبل المتغير أو بعده.
 دعونا نرى الرموز المختلفة لكتابة الدالة الرئيسية.

public static void main(String[] args)  
public static void main(String []args)  
public static void main(String args[])  
يمكنك توفير دعم var-args للدالة الرئيسية بتمرير 3 لامات حذف (نقاط)
 دعونا نرى الكود البسيط لاستخدام var-args في الدالة الرئيسية.  سنتعرف على var-args لاحقًا في فصل Java New Features.

public static void main(String... args)  
  • يعد وجود فاصلة منقوطة في نهاية الفئة أمرًا اختياريًا في Java.
 دعونا نرى الكود البسيط.

class A{  
static public void main(String... args){  
System.out.println("hello java4");  
}  
};  
كل هذه الدوال التالية صحيحة التسمية في جافا 
public static void main(String[] args)  
public static void main(String []args)  
public static void main(String args[])  
public static void main(String... args)  
static public void main(String[] args)  
public static final void main(String[] args)  
final public static void main(String[] args)  
final strictfp public static void main(String[] args) 
كل هذه الدوال التالية لا يجوز تسميته وهي غير صالحة في جافا
public void main(String[] args)  
static void main(String[] args)  
public void static main(String[] args)  
abstract public static void main(String[] args)  
حل خطأ "لم يتم التعرف على javac كأمر داخلي أو خارجي"؟
 إذا حدثت مشكلة مثل المعروضة في الشكل أدناه ، فأنت بحاجة إلى تحديد المسار.  نظرًا لأن DOS لا يعرف javac أو java ، فنحن بحاجة إلى تحديد المسار.  المسار غير مطلوب في مثل هذه الحالة إذا قمت بحفظ البرنامج الخاص بك داخل دليل JDK / bin.  ومع ذلك ، فهي طريقة ممتازة لتحديد المسار.  انقر هنا لمعرفة كيفية تحديد المسار في جافا.
Resolving an error "javac is not recognized as an internal or external command"?














How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

How is C++ different from Java? ما الفرق بين لغة جافا وسي بلص بلص؟ مقارنة

هناك العديد من الاختلافات والتشابهات بين لغة البرمجة C ++ و Java.  فيما يلي قائمة بأهم الاختلافات بين C ++ و Java:

وجه المقارنةC ++جافا
منصة مستقلةتعتمد لغة C ++ على النظام الأساسي.Java مستقلة عن النظام الأساسي.
تستخدم أساسا ليستخدم C ++ بشكل أساسي لبرمجة النظام.تستخدم Java بشكل أساسي لبرمجة التطبيقات. يستخدم على نطاق واسع في النوافذ ، وتطبيقات الويب ، والشركات ، وتطبيقات الهاتف المحمول.
هدف التصميمتم تصميم C ++ لبرمجة الأنظمة والتطبيقات. وكان امتدادا ل C لغة البرمجة .تم تصميم Java وإنشاؤها كمترجم لأنظمة الطباعة ولكن تم توسيعها لاحقًا كحوسبة شبكة دعم. تم تصميمه بهدف أن يكون سهل الاستخدام ومتاحًا لجمهور أوسع.
Gotoيدعم C ++ بيان goto .لا تدعم Java جملة goto.
تعدد الميراث
 Multiple inheritance
يدعم C ++ الوراثة المتعددة.لا تدعم Java الوراثة المتعددة من خلال الفصل الدراسي. يمكن تحقيق ذلك من خلال واجهات في جافا .
زيادة الحمولة على المشغل
Operator Overloading
يدعم C ++ التحميل الزائد للمشغل .Java لا تدعم التحميل الزائد للمشغل.
المؤشراتيدعم C ++ المؤشرات . يمكنك كتابة برنامج المؤشر في C ++.يدعم Java المؤشر داخليًا. ومع ذلك ، لا يمكنك كتابة برنامج المؤشر في جافا. هذا يعني أن جافا قد قيدت دعم المؤشر في جافا.
مفسر ومترجميستخدم C ++ مترجم فقط. يتم تجميع C ++ وتشغيله باستخدام المترجم الذي يحول الكود المصدري إلى كود الآلة ، لذا فإن C ++ تعتمد على النظام الأساسي.يستخدم Java مترجمًا مفسر على حد سواء. يتم تحويل كود مصدر Java إلى كود بايت في وقت التجميع. يقوم المترجم بتنفيذ هذا الرمز الثانوي في وقت التشغيل وينتج الإخراج. يتم تفسير Java وهذا هو السبب في أنها مستقلة عن النظام الأساسي.
الاتصال حسب القيمة والاتصال بالإشارةيدعم C ++ كلاً من الاتصال حسب القيمة والاتصال بالمرجع.تدعم Java الاتصال بالقيمة فقط. لا توجد دعوة من خلال الإشارة في جافا.
الهيكل 
Structure and Union
يدعم C ++ الهياكل Union.جافا لا تدعم الهياكل Unionو
دعم المعالجة ذات المهام المتعددة 
Thread Support
لا يحتوي C ++ على دعم معالجة متعددة. يعتمد على مكتبات الطرف الثالث لدعم مؤشر الترابط.يحتوي Java على دعم مؤشر معالجة متعددة .
تعليق التوثيقلا يدعم C ++ تعليق التوثيق.يدعم Java تعليق التوثيق (/ ** ... * /) لإنشاء وثائق لشفرة مصدر java.
الكلمات الرئيسية الافتراضيةيدعم C ++ الكلمات الرئيسية الافتراضية حتى نتمكن من تحديد ما إذا كان سيتم تجاوز دالة أم لا.جافا ليس لديها كلمة رئيسية افتراضية. يمكننا تجاوز جميع الدوال غير الثابتة افتراضيًا. بمعنى آخر ، الدوال غير الثابتة افتراضية افتراضيًا.
التحول الأيمن غير الموقعة >>>C ++ لا يدعم >>> عامل التشغيل.تدعم Java الإزاحة اليمنى غير الموقعة >>> العامل الذي يملأ الصفر في الجزء العلوي للأرقام السالبة. للأرقام الموجبة ، يعمل بنفس طريقة عامل التشغيل >>.
شجرة الوراثة C ++ يخلق شجرة وراثة جديدة دائمًا.تستخدم Java دائمًا شجرة وراثة واحدة لأن جميع الفئات هي تابعة لفئة الكائن في جافا. فئة الكائن هي جذر شجرة الوراثة في جافا.
المعداتC ++ أقرب إلى الأجهزة.جافا ليست تفاعلية مع الأجهزة.
وجوه المنحىC ++ هي لغة موجهة للكائنات. ومع ذلك ، في لغة C ، التسلسل الهرمي للجذر الفردي غير ممكن.Java هي أيضًا لغة موجهة للكائنات . ومع ذلك ، فإن كل شيء (باستثناء الأنواع الأساسية) هو كائن في Java. إنه تسلسل هرمي لجذر واحد حيث يتم اشتقاق كل شيء من java.lang.Object.

ملحوظة

  • لا تدعم Java الوسائط الافتراضية مثل C ++.
  • لا تدعم Java ملفات الرأس مثل C ++. تستخدم Java الكلمة الأساسية للاستيراد لتضمين فئات وطرق مختلفة.

مثال C ++

الملف: main.cpp

#include <iostream>  
using namespace std;  
int main() {  
   cout << "Hello C++ Programming";  
   return 0;  
}  

مثال على جافا

class Simple{  
    public static void main(String args[]){  
     System.out.println("Hello Java");  
    }  
}  


اقرأ أيضا في دروس تعلم عن جافا 

  1.   ماهي المشيدات في جافا ولماذا تستخدم مع أمثلة؟ 
  2. What are the advantages and disadvantages of Java programming language cons and pros? ما هي مزايا وعيوب لغة برمجة جافا  سلبياتها وإيجابياتها ؟