الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

الفرق بين Jdk, Jre And Jvm

Featured Replies

بتاريخ:

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

 

حد يعرف الفرق بين هؤلاء الثلاثة 

JDK, JRE and JVM
بتاريخ:

 

من متطلبات العمل مع الجافا دائماً ..أن يكون JDK مثبت لدي مسبقاً دائماً قبل تثبيت بيئة العمل التي سأعمل عليها ..

فقط الـ Jdeveloper  تثبيت الـ JDK يكون معه تلقائياً 

 

لماذا دائما ؟ لماذا العمل مع الجافا مقرون بوجود الـ JDK؟ ببساطة لإن الـ JDK تضم الـ JRE و JVM لنرى كيف وماهي فائدة كل منهما 

 

الـ  JDK  يتكون من : -

1-  : Tools لغرض تطوير برنامج جافا (For Develop java program)

2-  JRE  : لغرض تنفيذ برنامج جافا (For run java program)

 

وبدوره فالـ JRE

   يتكون من  :

1-      class libraries, and other supporting files

2-     JVM

 

وعليه فإن الـ JDK شملت كلاً من (JVM + JRE)

 

حسناً وماذا عن الـ JVM ؟

الآن  ماهي الـ JVM   لنتحدث هذه السطور البسيطة وبعدها تتضح لنا الفكرة أكثر

إفرض فرضية  ما نخسر شيء ..  أنه هنالك شخص يريد السفر الى بلاد أوربا

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

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

جافا حسبتها صح وإعتبرتها سفرة رابحة كيف

إعتبر أنه الشخص المسافر هو البرنامج الذي نكتبه  يعني الـ application الذي عملناه

وإعتبر أنه أنظمة التشغيل المختلفة هي البلاد المختلفة اللغات والـ JVM  هي المترجم الي يفهم برنامج جافا ويفهمه الى إنظمة التشغيل الأخرى  

لغاية الآن أعتقد المثال بسيط 

حسناً أنا كتبت برنامج جافا ..وعملت complier  .. الملف الناتج من عملية الـ compilation  هذه .. ليس ملف تنفيذي (.exe) بل هو ملف (.class) يسمى bytecode  

هذا الـ bytecode  تفهمه الـ JVM وتنرجمه الى  machine code   لغة آلة نظام التشغيل

حسناً إذن وصلنا الى ان برنامجنا مفهوم من جميع أنظمة التشغيل لإن أنا معي مترجم يترجم الى machine code  لأي لنظام التشغيل كان لدي

إذن الـJVM   هي( application تطبيق ، تطبيق يعني برنامج برنامج يعني Software

قادر على ان يفهم  الـ bytecode  الناتج من عملية الـ compilation  وبعدها قادرعلى ترجمته الى لغة الآلة   machine code حسب نظام التشغيل

لذلك سميت با “virtual”  وهميه لإنها لا تعتمد على نظام التشغيل هي فقط تعرفه ما هو فتقوم بترجمة الـ bytecode  الى لغة الآلة  الخاصة به

فبفضل الـ JVM  تمكنت برامج جافا أن يطلق عليها المقولة المشهورة (Write-Once Run-Anywhere  (WORA

 وتمتعت بالاستقلالية وعدم الاعتماد على  نوع نظام التشغيل platform-independent

وهذا كل ما في الأمر

إن شاء الله استطعت توضيح ما سألت عنه حضرتك 

 

  • بعد 3 شهور...
بتاريخ:

ما شاء الله على الشرح و التوضيح ولا اروع منه 

 

جزاك الله خيرا

بتاريخ:

شكراً 

  • بعد 1 سنة...
بتاريخ:

مشفتش حد قدر يوصل المعلومة زيك يااستاذة

ربنا يوفقك يارب

  • بعد 2 شهور...
بتاريخ:

هل دا يعني انه يمكن اعتبار SDK في مكروسوفت هي نفس JDK عند الجافا

بتاريخ:

يمكن اعتبار ذلك

بتاريخ:

يمكن اعتبار ذلك

 

شكراً 

توضيح ثاني لو سمحت يعني هتنطبق المقولة دي Write-Once Run-Anywhere على #C ???

بتاريخ:

لديهم ما يسمى بـ Common Language Runtime وهي مماثلة لـ JRE وتقول مايكروسوفت انها لم تعد تستدعس شئ من نظام التشغيل تمهيداً لإمكانية التشغيل على أنظمة تشغيل مختلفة

لكن إلى الآن لم نر شيئاً ملموساً

بتاريخ:

لديهم ما يسمى بـ Common Language Runtime وهي مماثلة لـ JRE وتقول مايكروسوفت انها لم تعد تستدعس شئ من نظام التشغيل تمهيداً لإمكانية التشغيل على أنظمة تشغيل مختلفة

لكن إلى الآن لم نر شيئاً ملموساً

تمام 

شكراً جزاك الله خيراً

بتاريخ:

وإياكم إن شاء الله

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.