الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بطء الجافا مالحل ؟؟؟

مغلق
بدأه baderyy في 19 فبراير 2003 · 4 رد · 1,638 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة وبعد:

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

لماذا الجافا بطيئة ؟؟

عندما تعمل على برنامج C# مثلا فإنك تكرة ان تعمل على برنامج جافا فهي قادرة علىتوليد exe بكل سرعة وسهولة والبرنامج يشتغل بكل سرعة ولا يحتاج توفر برامج مثل JVM التي ربما لا تكون متوفرة لدى المستخدم.

قد يقول البعض هي بطيئة لانها تشتغل على جميع الانظمة طيب لنكن صريحين أليس الان اغلب التطبيقات ( غير الشبكية) تعتمد على الويندوز بل حتى الشبكية الآن.

يبقى السؤال الكبير ماهو الحل وهل نغير الجافا بسبب البطء الذي لايمكن تجاهلة بأي سبب من الاسباب ؟؟؟

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

أريد توضيح من محبي الجافا أرجوكم ... ولكن بدون تحيز بل نريد النقاش جاد بعيد عن العصبية يرتكز على المنطق قبل كل شي.:rolleyes:

#3

بالنسبة لبرامج جافا ، فهي تحتاج إلى Java RunTime Enviroment JRE لكي تعمل على أي جهاز وهذه حجمها 10 ميغابايت.

في حين NET. تحتاج إلى NET Redistributable حجمها حوالي 20 ميجا.

ولكن !!

إذا كان التطبيق سيعمل على بيئة ميكروسوفت فإن التطوير بواسطة VS.NET أفضل فمثلا VB أو #C سيكونون خيارا أفضل لسرعة تطبيقاتهما.

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

جافا بطيئة نسبيا في تطبيقاتها لأنه فيها تشييكات كثيرة تصير في الـRuntime مثل حدود المصفوفات والTypes ... الأمر الذي يجعلها بطيئة لكن يمكن الإعتماد عليها.

بالنسبة لبيئة NET. فهي أسرع ربما لقربها من Windows وربما لأن فيها Code Optimizer.

حاول أن تفعل هذا الشيء ومن ثم قارن تصبيق Java بتطبيق NET. :

أكتب برنامج بواسطة JBuilder أو Visual Cafe حيث يدعي مطوري Symantic Visual Cafe بأن سرعة التطبيقات التي تكتبها في جافا مقاربة بسرعتها لسرعة ++C !!! ، ولكن عند تحويل ملفات class إلى ملفات exe

تذكرت شيء نسيته ...

قارن أي ملف class بملف exe ملف الـclass صغيييييييييييييييييييييييير مقارنة بالـexe وذلك بسبب عملية الربط Link

ففي تطبيق exe إذا كان بلغة السي++ يتم ربط جميع الملفات المطلوبة في ملف واحد ، فيكون أسرع في العمل لأنه يعمل كوحدة واحدة

أما ملف الـclass فعند التنفيذ يتم الربط بينه وبين الملفات والمكتبات في الـ Runtime enviroment مما يسبب البطء.

جرب Hello World .. شوف حجم الملف المتولد عن C وعن Java

حاول هذا ...

فيه برنامج اسمه Excelsior JET

http://www.excelsior-usa.com/

وهو يجمع ملفات exe في ملف Native win32 code مو زي اللي أنت مسويه في البرنامج حق الشركة إلي هو عبارة عن Wrapper لا يغنيك عن وجود JRE

شف البرنامج كيف يشتغل بسرعة حين يعمل على Excelsior وقارنه مع برامج أخرى بنفس الوظيفة بلغة أخرى وستحصل على سرعة مرضية.

أرجو أن تكون الوصلة التالية مجدية.

http://www.experts-exchange.com/Programmin...Q_20280164.html

وشكرا ...

عادل

#4

في البداية شكرا لك اخي الكريم على التجاوب:confused:

في الحقيقة انا جربت برنامج Excelsior JET لكن برضو exe يأخذ وقت أكتر مما يأخذة برامج مايكروسفت ثم أنة لا يشتغل على جهاز آخر يقول هناك مشكلة في ملف DLL وهو لايشتغل الا فقط عندما يكون على جهازك لانة يقوم بترجمة كلاسات JDK على ما أعتقد .

بالنسبة ل NET Redistributable فا أعتقد انها موجودة تبع الويندوز يعني اليوزر لايحتاج الى تحميلها لآننني كنت أعمل برامج على VS.NET وكانت تعمل على جميع الاجهزة التي بها ويندوز.

بالنسبة للجافا فإن JVM ليست موجودة في XP بدون تحديث فمايكروسفت قامت بإزالتها بعد المهاوش :D

فأنت عندما تكتب برنامج فانت لا بد ان ترفق بة JVM لكي تضمن انة يعمل على كل الاجهزة فلو كان برنامج HEllo world فإنة سيكون على الاقل 10 ميجا وهذة مصيبة كبيرة ( ناهيك عن البطء).

وفي الاخير ارجوا ان تكون نظرتي صحيحة ومنتظر ردك اخي لكي تقول لي ان كان هناك خطا فيما اقووووووووول وشكرا خي عادل .

#5

بسم الله الرحمن الرحيم

هلا (f) baderyy (f) فى معسكر الجافا

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

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

نقطة أخيرة ان مجالات عمل الجافا على الأرض الصلبة لا تتطلب السرعة الكبيرة فى التنفيذ لأنها كما اقول لغة شبكية ذات مهام شبكية ;)

فتـ الجافا ــى

هذا الموضوع مغلق.

مواضيع مشابهة