التشابه: كلاهما عبارة عن أجهزة Java افتراضية، تُستخدم لتنفيذ برامج Java
الفرق: لن يقوم javaw.exe بإخراج معلومات وحدة التحكم عند تشغيل البرنامج، إذا قمت بالنقر المزدوج لفتح ملف jar (بافتراض أنه تم تعيين طريقة الفتح)، فلن تظهر نافذة وحدة التحكم على الإطلاق لتشغيل البرامج باستخدام النماذج، فإن حرف "w" الموجود فيه يعني نافذة، لذلك على الرغم من أنه لن يبلغ عن خطأ عند تشغيل برنامج وحدة التحكم، إلا أنه لن يخرج أي نتائج. لا توجد مشكلة فيما إذا كان java.exe يقوم بتشغيل برنامج وحدة تحكم أو برنامج نموذج.
محاكاة السيناريو الأول:
اكتب أبسط برنامج وحدة تحكم:
انسخ رمز الكود كما يلي:
public static void main(String[] args){
System.out.println("مرحبا بالعالم!");
}
يجري:
محاكاة السيناريو الثاني:
إذا كنت تقوم بتشغيل برنامج باستخدام واجهة المستخدم الرسومية:
1. إذا كنت تستخدم cmd لفتح ملف jar وكان هناك رمز System.out.println، فسيتم إخراج java.exe بشكل طبيعي، ولكن لن يتم إخراج javaw.exe، لكن نافذة وحدة التحكم لن تختفي.
2. إذا قمت بتشغيل ملف jar من خلال "النقر بزر الماوس الأيمن" --> "فتح باستخدام"، فإن فتح الملف باستخدام java.exe سيحتفظ بنافذة وحدة التحكم، ولكن لن يظهر javaw.exe، لذا فإن تشغيل برنامج النموذج يعد أمرًا ضروريًا. بشكل عام، يستخدم كلاهما javaw.exe.
أمثلة على استخدام java.exe أو javaw.exe:
جافا [-خيارات] فئة [الوسائط ...]
(يستخدم لتنفيذ ملف bytecode المترجم)
أو جافا [-خيارات] -jar jarfile [الوسائط...]
(يستخدم لتنفيذ ملف jar معبأ)