السلام عليكم
JVM هل ممكن يا شباب إني أشغل برنامج بالجافا والـ
على جهاز آخر؟
يعني أعطيه مسار برنامج التشغيل ويكون المسار لجهاز آخر؟
شكراً
السلام عليكم
JVM هل ممكن يا شباب إني أشغل برنامج بالجافا والـ
على جهاز آخر؟
يعني أعطيه مسار برنامج التشغيل ويكون المسار لجهاز آخر؟
شكراً
لا علم لدي ,, لكني اشك في ذلك
RMI تساعدك في تنفيذ دوال على جهاز الآخرين
web service أيضاً تساعدك في نفس العملية عن طريق بروتكول HTTP
تحياتي
JVM
هي بيئة العمل لأي برنامج كتب بلغة الجافا
وهي يأتي مع أي نظام تشغيل فكيف تريد تشغيله على جهاز آخر؟؟
أتوقع أنك لم توضح لنا السؤال.
ولا كلام بعد الأستاذ علاء الصالحي فهو أعرف منا بسؤالك.
تقبل مروري
السؤال مبهم؟؟؟
والله ياخي إني أستغرب لما فيه منكم من يقول السؤال غير مفهوم, السؤال واضح جدا ولا اللي يقول السؤال غير مفهوم مو فاهم كيف تشتغل برامج الجافا؟؟
وبعدين الأخت اللي تقول إن بيئة تشغيل برامج جافا تأتي أصلا مع أي نظام تشغيل, شكلك ما عرفتي الكمبيوتر غير تو مع فيستا إذا توك جديدة على الجافا أتمنى ما تتكلمين بشي ما تعرفينه
تم تعديل هذه المشاركة بواسطة Lovelorn2008 في 11 يوليو 2009 في 22:55
أخي lovelorn
أنا مبتدئة في عالم الجافا صحيح
ووجدت هذه المعلومة وأنا أبحث عن JVM
وشكرا لك لإيضاحك خطأي ولكن أتمنى أن لا تمنعني من الحديث
فلولا تفوهي بها لما علمت أن معلومتي المكتسبة خطأ
وهنا الأعضاء والمشرفين وأنت واحد منهم القادرين على تصحيح
معلوماتنا الخاطئة قبل أن تصل إلى الآخرين بالخطأ.
جزاكم الله كل خير وففقكم إلى طريق السداد.
وهنا أطلب منك أن تزودني بمعلومات عن JVM لأصوب السهم المعوج الذي أطلق إلي
هذا بعد إذنك طبعا.
واعذرنا على تطفلنا على موضوعك بالخطأ.
طولو بالكم يا جماعة الخير...
السؤال مفهوم يريد تشغيل برنامج جافا على جهاز لا يوجد فيه JVM و لكن يوجد جهاز آخر مرتبط معه بشبكة مثلا يتوفر عليه JVM و البرنامج
و الجواب هو : لأ
للالتفاف على الموضوع يجب ان تلجئ للويب مثلا حول برنامجك على applet او الى سيرفلت
حيث ان جافا ويب ستارت تحتاج JVMو RMI تحتاجJVMايضا
Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why
برجاء اجتناب افتعال المشاكل مع الأعضاء أخ Lovelorn2008
أنا فعلاً أرى سؤالك غير واضح
بدليل أني فهمت أن الطرف الأول والثاني لديه JVM
وفهم الأخ رامي أن الطرف الثاني فقط لديه JVM
رامي أظن حتى applet تحتاج إلى JVM
هل طرأ شيء جديد لا أعلم عنه؟
تحياتي
السلام عليكم
أول شي معليش أنا أعتذر من الجميع إذا كان بدر مني شي مو زين وأخص بالإعتذار الأخت Al-Noor232
أكرر أسفي مرة ثانية منك اختي وصراحة أنا فعلا كنت متضايق لما كتبت الرد وأسلوبك بالرد صراحة أحرجني وفعلا أنا آسف
أنا أفهمك ايش هي الـ JVM, زمان قبل ما تطلع لنا لغة الجافا كان لما تعمل برنامج بأي لغة برمجة ما يشتغل معاك البرنامج إلا على نفس نظام التشغيل اللي كنت شغال عليه لما قفلت البرنامج (يعني لما عملت compile لملفات البرنامج), يعني إذا كنت مثلا تشتغل على نظام التشغيل ويندوز وعملت برنامج مثلا بلغة الـ C++ ورحت تشغل البرنامج على نظام تشغيل آخر مثلا لينوكس ما يرضى يشتغل معاك البرنامج. السبب في هذا يكمن في كيفية مخاطبة برنامجك لنظام التشغيل نفسه لما ينفذ تعليماته.
الآن لما جات لغة الجافا تميزت بميزة جبارة جدا وهي إن البرنامج أقدر أعمله على أي نظام تشغيل وأشغله على أي نظام تشغيل وهذا كله بفضل الـ JVM. تقدري تقولي إن الـ JVM هو مثل المترجم اللي معاه عدة لغات بحيث يفهم اللغة اللي يفهمها ويعمل بها نظام التشغيل (مثل ويندوز, لينوكس, سولاريس, وغيرها كثير من أنظمة التشغيل المشهورة ) وأيضا يفهم لغة رموزها تسمى (byte code) وهنا هو السر, حيث إنك لما تعملي compile لبرنامجك تحول تعليماته إلى تعليمات الـ byte code ويصير الـ JVM يفهم تعليمات برنامجك ويقدر يخاطب نظام التشغيل اللي انتي شغالة عليه وبكذا يكون مثل الوسيط والمترجم بين برنامجك ونظام التشغيل.
أتمنى والله تكون وضحت الأمور وفهمتي ايش هي الـ JVM.
شكرا
بســم الله الـرحمــن الرحيــم
الحمد لله والصلاة والسلام على حبيبي ونور قلبي رسول الله محمد
يا جماعة الخير صلوا على النبي
اولا :
الاخت al-Noor232 ابقي هكذا واياكي ان تتردي في طرح اي رد او موضوع لان السخرية من اي عضو - مع احترامي للجميع - ستدفعك الى عدم اكتساب اي معلومة فلا حياء مع العلم . واكرر اياكي ان تترددي في طرح اي رد على اي موضوع وأسأل الله ان يعلمنا ما ينفعنا والجميع آمين
س: هل استطيع تشغيل برنامجي على جهاز لا يوجد به جافا ؟
ج: نعم ولكن كيف ؟؟؟؟؟؟؟؟؟؟؟
اولا اقوم بنسخ المجلد jre وانسخ ايضا برنامجي معه خارج المجلد jre
ثم أقوم بوضع ملف امتداده bat بجانب برنامجي واسمه مثلا run.bat
لو نظرت الى ترتيبهم لوجدته هكذا
jre folder وبجانبه run.bat وبجانبه my_program
ثم أكتب داخل ملف البات
---------------------------------------------- in windows write this code in run.bat set path=%path%;jre\bin\ java [your java program] ---------------------------------------------- in unix write this code in run.sh export path=$path:jre/bin java [your java program]
س : اذا كانت jvm موجودة على الجهاز وأنا أريد ان يعمل برنامجي على jvm التي ضمنتها مع برنامجي (كلاساتي) ولا يعمل على jvm التي على الجهاز لاسباب كثيرة منها عدم تلاؤم نوع الاصدار فما أفعل ؟؟؟؟؟؟
ج: السؤال غير مفهوم ؟؟؟؟
س: اريد برنامجي ان يعمل مع jvm الخاصة بي ولا اريد برنامجي ان يعمل مع jvm التي على الجهاز ؟؟؟؟
ج: أقوم بكل بساطة بتغيير اسم الملف الموجود داخل jvm الذي اسمه java.exe الى اسمي انا ahmad.exe وطبعا ستقوم بتغيير ملف البات الذي عملته ستقوم باستبدال كلمة java الى ahmad
ملاحظة :
يفضل ان تضع اسمك انت بدلا من اسمي :wink:
وهناك طريقه أخرى وهي تتعلق ب path فإذا كان عندك ملفان بنفس الاسم في path فأيهما سينفذ نظام التشغيل ؟؟؟؟
سينفذ الاول أم الثاني ؟ فلو كان عندك ملفان اسمهما java.exe واحد في jvm الخاصة بي والثاني في jvm التي على الجهاز ؟؟ فأيهما سينفذ لو كتبنا على الدوس java.exe ؟؟؟؟؟؟؟؟؟
ج: سينفذ الاول طبعا ؟ لان نظام التشغيل يقوم بالبحث عن الملف في الباث الذي تكتبه فاذا وجده توقف عن البحث مباشرة ولذلك سيجد الاول طبعا
لذلك سنقوم بتبديل الباث بدلا من اضافته كما فعلا سابقا وهي طريق سهلة هكذا
---------------------------------------------- in windows write this code in run.bat set temppath=%path% set path=jre\bin\;%temppath% java [your java program] ---------------------------------------------- or or or or or set path=jre\bin\;%path% java [your java program]
هنا سينفذ اكيد java.exe التي في jvm الخاصة بي (my jre folder) دون الحاجة لتغيير اسم الملف java.exe
مع اني انا احب تغيير اسماء كل ملفات الجافا وخربطة المكاتب بحيث تقسم بالله انها ليست jvm B)
سؤال مهم جدا وهو ما يريده السائل الكريم
سؤال مهم جدا وهو ما يريده السائل الكريم
سؤال مهم جدا وهو ما يريده السائل الكريم
س: هل استطيع تشغيل الجافا على جهاز بعيد (سيرفرserver) وجهاز قريب ( زبونclient ) دون وجود jvm على جهاز الزبون ؟؟؟؟
ج: نعم بشرط ان تكون jvm في مجلد مشترك (share) على السيرفر
ويكون عندك (الزبون ) ملف بات خاص وبرنامجك( your classes) على جهاز الزبون
س : ماذا نكتب في ملف البات الخاص ؟؟؟؟؟؟؟؟
ج: شو بدنا نكتب يعني اكيد نفس الذي كتبناه فوق لكن مع بعض التعديل
in networks you must write in shared folder
set path=%path%;\\server\shared Folder\jre\bin java [your java program]
اسف على الشرح المعقد ولكني لاني نادرا ما ازور المنتدى
تم تعديل هذه المشاركة بواسطة Lenah في 14 يوليو 2009 في 02:44
اتمنى ان يكون الشرح واضحا والا
سوف اقوم باعادة الشرح مع الصور ان شاء الله بالتفصيل الممل جدا حالما أخرج من المصيبة التي أنا فيها
موضوع جميل و رد أجمل من الأخت لينة
فرج الله كربتك اخت لينة و جميع كرب المسلمين
في انتظار تطبيق ما شرحته الاخت لينة من المعنيين بالأمر ومنهم صاحب الموضوع وأنا بالطبع...........
أخت لينة الله يجزاك بالجنة على شرحك الأكثر من رائع
أنا طبقت كلامك وجات معاي الأمور تمام 100%, لكن الله يعافيك كيف أقدر أشغل ملف jar. بدلا من تنفيذ ملف class. ؟
وإذا كان ممكن إذا فيه طريقة لإخفاء الشاشة السوداء بعد ما يشتغل البرنامج؟
ألف شكر لك على المعلومات الرائعة وفعلا هي على الأقل حلت مشكلة عندي...
بســم الله الـرحمــن الرحيــم
س : كيف انفذ ملف جار بدلا من كلاس دون ظهور الشاشة السوداء ؟
ج:
set path=\\server\shared Folder\jre\bin;%path% start javaw -jar myjar.jar
ما الذي تريده بالضبط يا أخي حتى يحل مشكلتك بالكامل
هناك طريقة لجعل البرنامج يعمل دون ان يكون موجودا على الجهاز !!!!!!!!!! :blink: :blink:
س: كيف يمكن ان اقوم بتشغيل برنامج موجود على السيرفر وjvm موجودة ايضا على السيرفر ولا يوجد عند جهاز الزبون اي شيء ؟
ج : سهل جدا
نكتب البات بحيث نضع بدلا من myjar.jar المكان الذي يوجد به على السيرفر
set path=\\server\shared Folder\jre\bin;%path% start javaw -jar "//server/shared Folder2/myjar.jar"
لاحظ انها javaw وليست java
او اذا كنت مثلي تحب الامر الواحد نكتب فقط
start \\server\"shared Folder1"\jre\bin\javaw -jar "//server/shared Folder2/myjar.jar"
لاحظ اننا وضعنا علامتي الاقتباس " " حول المجلد "shared folder1" لأنه يحتوي space
وتستطيع تحويل ملف البات الى ملف exe , واخفاء المجلدات المشتركة عن كل المستخدمين ولن يعرف احد في الشبكة ان هناك مجلدات مشتركة على السيرفر أبدا ...
س : كيف استطيع اخفاء المجلدات المشتركة على الشبكة ؟
ج: تستطيع اخفاء المجلدات المشتركة على الشبكة بوضع اشارة $ في آخر اسم المجلد المشترك (shared folder) ولن يستطيع احد رؤيته انه مجلد مشترك على الشبكة الا اذا كان حافظ اسم المجلد المشترك فقط
سيقوم المستخدم بتشغيل الملف exe ولن يعرف ما الذي يحدث ويمكن ان يكون هناك اكثر من مستخدم يعملون على نفس البرنامج !!!!!!
تم تعديل هذه المشاركة بواسطة Lenah في 14 يوليو 2009 في 03:12
الحين فهمت
والله تشكرون أخواني جميعا
والشكر موصول لك أخت لينا.
لا تعلمون كم أنا سعيدة بأنكم صححت خطأي
جزاكم الله خير
مفيدة جداً أخت لينا
ومتعمقة جداً في موضوع الباتش
طيب هل يمكنني أن أطبق نفس الآلية مع موقع إنترنت؟؟
وهل يمكنني أن أشغل برنامج يعتمد على api موجودة على الشبكة؟
تحياتي
بســم الله الـرحمــن الرحيــم
اشكر الخت لينا على المعلومات القيمه واتمني من الاخوان الاخرين عدم الرد على الاسئله عاليه المستوي بغير الاحاطه العلميه بالموضوع :huh: واجدد شكري للاخت لينا بارك الله فيها ز
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…