مقدمة إلى Java
⚡ ملخص ذكي
مقدمة إلى Java يشرح هذا البرنامج التعليمي لغة برمجة عامة الأغراض، تعتمد على الأصناف، وموجهة للكائنات، وتُستخدم أيضاً كمنصة حوسبة. Javaتاريخها، إصداراتها، ميزاتها، مكوناتها الأساسية (JDK، JVM، JRE)، إصدارات المنصات، وآلية البايت كود التي تجعلها Java لغة حقيقية تُكتب مرة واحدة وتُشغل في أي مكان.

ما هي تفاصيل Java?
Java هي لغة برمجة عامة الأغراض، تعتمد على الأصناف، وموجهة للكائنات، ومصممة لتقليل تبعيات التنفيذ. كما أنها منصة حوسبة لتطوير التطبيقات. Java إنها سريعة وآمنة وموثوقة، ولهذا السبب تُستخدم لتشغيل البرامج على أجهزة الكمبيوتر المحمولة ومراكز البيانات وأجهزة ألعاب الفيديو وأجهزة الكمبيوتر العملاقة العلمية والهواتف المحمولة والأجهزة المدمجة. وباعتبارها لغة متعددة المنصات ومتمحورة حول الشبكة، Java لا تزال واحدة من أكثر لغات البرمجة استخدامًا في الصناعة، وتفضلها معظم المؤسسات لبناء المشاريع ذات الأهمية البالغة.
ما هو Java منصة؟
استخدم Java المنظومة هي مجموعة من البرامج التي تساعد المطورين على إنشاء وتشغيل Java يُحسّن هذا النظام كفاءة التطبيقات. فهو يجمع بين محرك تنفيذ، ومترجم، ومجموعة من المكتبات، بالإضافة إلى المواصفات التي تحدد كيفية تفاعلها. وقد طوّر جيمس جوسلينج هذا النظام. Java المنصة في شركة صن مايكروسيستمز، و Oracle استحوذت الشركة عليها من خلال عملية الاستحواذ على شركة صن في عام 2009.
يقدم هذا الفيديو ملف Java المنصة ويشرح السبب Java هي منصة ولغة برمجة في آن واحد:
انقر اضغط هنا إذا كان الفيديو غير متاح.
ما هي تفاصيل Java يستعمل ل؟
فيما يلي بعض أهم التطبيقات العملية لـ Java:
- ديفيلوping Android تطبيقات.
- تطوير برامج مؤسسية للمنظمات الكبيرة.
- تشغيل مجموعة واسعة من الأجهزة المحمولة Java التطبيقات.
- تشغيل تطبيقات الحوسبة العلمية.
- قيادة مسارات تحليل البيانات الضخمة.
- برمجة الأجهزة المدمجة.
- تقنيات جانب الخادم مثل Apache و JBoss و GlassFish و Tomcat.
تاريخ Java لغة البرمجة
فيما يلي أهم المعالم من تاريخ Java لغة:
- استخدم Java كانت اللغة في البداية تسمى OAK.
- تم تطويره في الأصل للتعامل مع الأجهزة المحمولة وأجهزة الاستقبال الرقمية، حيث كان نظام OAK فاشلاً تجارياً.
- في عام 1995، أعادت شركة صن تسمية اللغة إلى "Java"وأعاد توجيهها للاستفادة من شبكة الإنترنت العالمية سريعة النمو."
- في 2009، Oracle استحوذت الشركة على شركة Sun Microsystems وحصلت على ملكية ثلاثة أصول رئيسية لبرامج Sun: Java, MySQLو Solaris.
Java إصدارات
فيما يلي نبذة تاريخية عن Java الإصدارات وتواريخ إصدارها، محدثة حتى أحدث إصدار للدعم طويل الأمد:
| Java التجريبية | الافراج عن تاريخ |
|---|---|
| JDK ألفا وبيتا | 1995 |
| JDK 1.0 | 23 يناير 1996 |
| JDK 1.1 | 19th فبراير 1997 |
| J2SE 1.2 | 8th ديسمبر 1998 |
| J2SE 1.3 | 8th مايو 2000 |
| J2SE 1.4 | 6th فبراير 2002 |
| J2SE 5.0 | 30th سبتمبر 2004 |
| Java SE 6 | 11th ديسمبر 2006 |
| Java SE 7 | شنومكست يوليو شنومكس |
| Java SE 8 (LTS) | 18th Mar 2014 |
| Java SE 9 | 21st سبتمبر 2017 |
| Java SE 10 | 20th Mar 2018 |
| Java SE 11 (LTS) | 25th سبتمبر 2018 |
| Java SE 12 | 19th Mar 2019 |
| Java SE 13 | 17th سبتمبر 2019 |
| Java SE 14 | 17th Mar 2020 |
| Java SE 15 | 15th سبتمبر 2020 |
| Java SE 16 | 16th Mar 2021 |
| Java SE 17 (LTS) | 14th سبتمبر 2021 |
| Java SE 18 | 22 مارس 2022 |
| Java SE 19 | 20th سبتمبر 2022 |
| Java SE 20 | 21st مارس 2023 |
| Java SE 21 (LTS) | 19th سبتمبر 2023 |
| Java SE 22 | 19th Mar 2024 |
| Java SE 23 | 17th سبتمبر 2024 |
| Java SE 24 | 18th Mar 2025 |
| Java SE 25 (LTS) | 16th سبتمبر 2025 |
Java شرح المميزات:
وفيما يلي بعض من أهمها Java الميزات التي حافظت على أهميتها لما يقرب من ثلاثة عقود:
- إنها واحدة من أسهل لغات البرمجة الكائنية التوجه للتعلم.
- "اكتب مرة واحدة، شغّل في أي مكان" - يتم تشغيل الكود الذي تم تجميعه على جهاز واحد على أي منصة حوسبة تقريبًا.
- Java وهو مستقل عن المنصة بفضل نموذج تنفيذ التعليمات البرمجية الوسيطة الخاص به.
- تم تصميمه من الصفر للتطبيقات الموجهة للكائنات.
- إنها لغة متعددة الخيوط مع إدارة تلقائية للذاكرة (جمع البيانات المهملة).
- لقد تم إنشاؤه من أجل بيئة الإنترنت الموزعة.
- فهو يسهل الحوسبة الموزعة بفضل تصميمه الذي يركز على الشبكة.
مكونات Java لغة البرمجة
A Java يكتب المبرمج التعليمات البرمجية بلغة يسهل على الإنسان قراءتها تسمى شفرة المصدرلا يفهم المعالج المركزي (CPU) شفرة المصدر مباشرةً، فهو لا يُشغّل إلا شفرة الآلة، وهذه الشفرة تختلف بين عائلات المعالجات المركزية. ولتجاوز هذه الفجوة، Java تقوم المنصة بترجمة الشفرة المصدرية إلى شكل وسيط قابل للنقل. كل هذا يحدث داخل ثلاثة مكونات أساسية: JDK وJVM وJRE.
Java مجموعة أدوات التطوير (JDK)
JDK هي بيئة تطوير برمجيات تُستخدم لبناء التطبيقات المصغرة (Applets) Java التطبيقات. الشكل الكامل لـ JDK هو Java مجموعة تطوير. Java يمكن للمطورين استخدامه على Windows, macOS, Solarisولينكس. يساعدهم JDK في كتابة التعليمات البرمجية وتشغيلها Java البرامج. من الممكن تثبيت أكثر من إصدار JDK على نفس الكمبيوتر.
لماذا نستخدم JDK؟
- تحتوي JDK على الأدوات اللازمة لكتابة Java البرامج وبيئة تشغيل جافا (JRE) لتنفيذها.
- يتضمن مُترجمًا (
javac)، و Java مشغل التطبيقات، وعارض التطبيقات المصغرة، والأدوات المساعدة المماثلة. - يقوم المترجم بتحويل التعليمات البرمجية المكتوبة بلغة Java إلى رمز البايت.
- استخدم Java يفتح مشغل التطبيق JRE، ويقوم بتحميل الفئة الضرورية، وينفذ طريقته الرئيسية.
Java الآلة الافتراضية (JVM)
استخدم Java الآلة الافتراضية (JVM) هو محرك يوفر بيئة تشغيل لـ Java يقوم بتحويل التعليمات البرمجية أو التطبيقات. Java تحويل الشفرة الوسيطة إلى لغة الآلة. تُعدّ آلة جافا الافتراضية (JVM) جزءًا من Java بيئة التشغيل (JRE). في لغات البرمجة الأخرى، يُنتج المُترجم رمز الآلة لنظام معين. ومع ذلك، فإن Java يقوم المترجم بإنتاج رمز لآلة افتراضية تُعرف باسم Java آلة افتراضية.
لماذا JVM؟
- يوفر JVM طريقة تنفيذ مستقلة عن النظام الأساسي Java مصدر الرمز.
- يحتوي على العديد من المكتبات والأدوات والأطر الجاهزة للاستخدام.
- بمجرد تجميعك Java بفضل هذا البرنامج، يمكنك تشغيله على أي منصة، مما يوفر وقتًا كبيرًا.
- يأتي JVM مزودًا بمترجم JIT (Just-In-Time) الذي يحول رمز البايت إلى لغة الآلة منخفضة المستوى في وقت التشغيل، مما يجعله غالبًا يعمل بشكل أسرع من التطبيق المفسر.
Java بيئة وقت التشغيل (JRE)
JRE هو برنامج مصمم لتشغيل برامج أخرى. يحتوي على مكتبات الفئات، وفئة التحميل، وJVM. ببساطة، إذا كنت ترغب فقط في تشغيل برنامج واحد Java إذا كنت تستخدم برنامجًا (وليس تطوير برنامج)، فأنت بحاجة إلى JRE بدلاً من JDK الكامل.
لماذا نستخدم JRE؟
- يحتوي JRE على مكتبات الفئات، وJVM، وملفات داعمة أخرى. ولا يتضمن أدوات المطورين مثل مصحح الأخطاء أو المترجم.
- يستخدم فئات حزم مهمة بما في ذلك
math,swing,util,lang,awtومكتبات وقت التشغيل. - إذا كان عليك الركض Java يجب تثبيت JRE على نظامك، سواءً كان ذلك لتطبيقات صغيرة أو تطبيقات كاملة.
أنواع مختلفة من Java بلاتفورم
هناك أربعة متميزة Java منصات لغات البرمجة، كل منها مُعدّة لهدف نشر مختلف:
1. Java النظام الأساسي، الإصدار القياسي (Java SE): Java تقدم واجهة برمجة التطبيقات الخاصة بـ SE Java الوظائف الأساسية للغة البرمجة. فهي تحدد كل شيء بدءًا من الأنواع الأساسية والكائنات وصولاً إلى الفئات عالية المستوى المستخدمة في الشبكات والأمان والوصول إلى قواعد البيانات وتطوير واجهة المستخدم الرسومية (GUI) وتحليل XML.
2. Java المنصة، إصدار المؤسسات (جاكرتا إي إي، سابقًا Java إي): توفر منصة Jakarta EE واجهة برمجة تطبيقات وبيئة تشغيل لتطويرping وتشغيل تطبيقات شبكية عالية التوسع، واسعة النطاق، متعددة المستويات، موثوقة وآمنة. Oracle نقل المنصة إلى Eclipse Foundation في عام 2017، والتي أعادت تسميتها إلى جاكرتا إي إي.
3. Java النظام الأساسي، الإصدار الصغير (Java أنا): استخدم Java توفر منصة ME واجهة برمجة تطبيقات (API) وآلة افتراضية صغيرة الحجم لتشغيل Java تطبيقات على أجهزة صغيرة مثل الهواتف ذات الميزات المحدودة ووحدات التحكم المدمجة.
4. Javaالعملات الأجنبية: JavaFX هي منصة للتطويرping تطبيقات إنترنت غنية تستخدم واجهة برمجة تطبيقات خفيفة الوزن. وهي تستخدم محركات رسومات ووسائط مُسرّعة بواسطة الأجهزة تساعد Java استفد من العملاء ذوي الأداء العالي، والمظهر العصري، وواجهات برمجة التطبيقات عالية المستوى للاتصال بمصادر البيانات الشبكية.
لفهم Java فيما يتعلق بلغة البرمجة، نحتاج إلى إعادة النظر في بعض المفاهيم الأساسية لكيفية قيام برنامج الكمبيوتر بتشغيل الأوامر وتنفيذ الإجراءات.
ما هو جهاز الكمبيوتر؟
الحاسوب جهاز إلكتروني قادر على إجراء العمليات الحسابية. يتكون من شاشة ولوحة مفاتيح وفأرة وذاكرة لتخزين المعلومات. لكن المكون الأهم هو المعالج. يقوم المعالج بكل عمليات التفكير في الحاسوب، ولكن كيف يقوم بذلك فعلياً؟ كيف يفهم النصوص والصور والفيديوهات؟

ما هي تفاصيل Assembly لغة؟
الحاسوب جهاز إلكتروني، لذا فهو لا يفهم إلا الإشارات الإلكترونية - الإشارات الثنائية. قد تمثل إشارة إلكترونية بقوة 5 فولت الرقم الثنائي 1، بينما قد يمثل 0 فولت الرقم الثنائي 0. ويتعرض جهاز الكمبيوتر الخاص بك باستمرار لوابل من هذه الإشارات.
يتم تجميع ثمانية بتات من هذه الإشارات معًا لتفسير النصوص والأرقام والرموز.
على سبيل المثال، يتم التعرف على رمز # بواسطة الكمبيوتر على أنه 10101010. وبالمثل، يتم تمثيل نمط دالة "الجمع" بواسطة 10000011.
يُعرف هذا باسم الحوسبة ذات 8 بت. تستطيع المعالجات الحديثة فك تشفير تعليمات 64 بت في المرة الواحدة. فما علاقة هذا المفهوم بـ Javaدعونا نستعرض مثالاً.
لنفترض أنك تريد إخبار الحاسوب بجمع عددين (1 + 2) ممثلين بأعداد ثنائية (10000011). كيف تُوصل هذه المعلومة إلى الحاسوب؟ تستخدم لغة التجميع لتنفيذ التعليمات البرمجية.
"Assembly اللغة هي الشكل الأساسي للغات تطوير البرمجيات.
تُصدر الأوامر بالصيغة التالية. سيكون رمز جمع عددين بلغة التجميع كالتالي:
- قم بتخزين الرقم 1 في موقع الذاكرة أ.
- قم بتخزين الرقم 2 في موقع الذاكرة B.
- أضف محتويات الموقعين أ و ب.
- تخزين النتيجة.
في خمسينيات القرن الماضي، عندما كانت أجهزة الكمبيوتر ضخمة وتستهلك طاقة كبيرة، كان يتم تحويل كود التجميع إلى كود الآلة المقابل (1 و0) باستخدام دالة map.ping ثم تُثقب الرموز في بطاقات الآلة وتُغذى إلى الحاسوب. يقرأ الحاسوب هذه الرموز وينفذ البرنامج. كانت هذه عملية طويلة - إلى أن ظهر المُجمِّع لأتمتة عملية التحويل.
ما هو المجمع والمترجم؟
مع تطور التكنولوجيا، تم اختراع أجهزة الإدخال والإخراج. أصبح بإمكانك كتابة برنامجك مباشرةً على الحاسوب باستخدام لغة التجميع، التي تحوله إلى لغة الآلة المقابلة (110001...) وتُدخله إلى المعالج. بالعودة إلى مثالنا 1 + 2، تقوم لغة التجميع بتحويل كود التجميع إلى لغة الآلة كناتج.
بالإضافة إلى لغة التجميع، يجب عليك أيضًا استدعاء وظائف يوفرها نظام التشغيل لعرض المخرجات.
لا يكفي استخدام المُجمِّع وحده؛ بل يحتاج أيضًا إلى مُترجم لضغط الشيفرة المصدرية الطويلة إلى أجزاء أصغر وأكثر كفاءة. في لغات تطوير البرمجيات عالية المستوى، يتقلص جزء التجميع المذكور أعلاه إلى سطر واحد مثل: printf(“%d”, 1+2)يقوم المترجم بتحويل ما يلي: لغة سي يقوم المُجمِّع بتحويل الكود إلى كود التجميع، ثم يقوم بتحويله إلى كود الآلة. transmitمرتبط بالمعالج. المعالج الأكثر شيوعًا المستخدم في أجهزة الكمبيوتر الشخصية هو معالج إنتل.
غالباً ما تتضمن المترجمات الحديثة برنامج التجميع حتى تتمكن من تحويل كود اللغة عالية المستوى مباشرة إلى كود الآلة.
والآن، لنفترض Windows يعمل على معالج إنتل - ويُطلق على مزيج نظام التشغيل والمعالج اسم المنصة. المنصة الأكثر شيوعًا هي Windows على معالجات إنتل، والمعروفة أيضاً بمنصة وينتل. ومن المنصات الشائعة الأخرى معالجات AMD. لينكس، وPowerPC، و macOS.
مع تغيير المعالج، تتغير تعليمات التجميع أيضًا. على سبيل المثال:
- قد يُطلق على تعليمة "add" في معالجات Intel اسم ADDITION في معالجات AMD.
- أو "Math ADD" على PowerPC.
ومع تغيير نظام التشغيل، يتغير مستوى وطبيعة استدعاءات نظام التشغيل أيضًا.
بصفتك مطور برامج، فأنت ترغب في أن يعمل برنامجك على جميع المنصات لتحقيق أقصى قدر من الانتشار. وهذا يعني أنه سيتعين عليك شراء مترجمات منفصلة لتحويل برامجك. printf يتم إدخال الأمر في كود الآلة الأصلي لكل هدف.
تُعدّ المترجمات مكلفة، وهناك دائمًا خطر حدوث مشاكل في التوافق بين أنظمة التشغيل. شراء وتثبيت مترجم منفصل لكل نظام تشغيل ومعالج ليس بالأمر العملي. فما هو البديل إذًا؟ إليكم الحل: Java لغة.
كيف يمكن لل Java هل تعمل الآلة الافتراضية؟
باستخدام Java آلة افتراضيةيمكن حل هذه المشكلة. ولكن كيف يتم ذلك عبر مختلف المعالجات وأنظمة التشغيل؟ دعونا نستعرض الأمر خطوة بخطوة.
الخطوة 1) الكود المستخدم لعرض مجموع عددين — System.out.println(1+2) — يتم حفظها كـ .java ملف.
الخطوة 2) باستخدام Java مترجم (javacيتم تحويل الكود إلى كود وسيط يسمى بايت كودالناتج هو .صف دراسي ملف.
الخطوة 3) لا تفهم أي منصة مادية هذا الرمز البرمجي، بل تفهمه فقط منصة افتراضية تسمى Java آلة افتراضية.
الخطوة 4) توجد آلة جافا الافتراضية (JVM) في ذاكرة الوصول العشوائي (RAM) لنظام التشغيل. عندما تتلقى آلة جافا الافتراضية هذا الكود البرمجي، فإنها تحدد النظام الأساسي الذي تعمل عليه وتحول الكود البرمجي إلى كود الآلة الأصلي أثناء التشغيل.
أثناء العمل على جهاز الكمبيوتر الخاص بك أو تصفح الإنترنت، كلما رأيت Javaباستخدام الرموز ذات الصلة، يمكنك التأكد من تحميل JVM في ذاكرة الوصول العشوائي (RAM). ما الذي يجعل Java attracالميزة هي أن الكود المُجمَّع يمكن تشغيله ليس فقط على جميع منصات أجهزة الكمبيوتر الشخصية، ولكن أيضًا على الهواتف المحمولة والأجهزة الإلكترونية الأخرى التي تدعم ذلك. Java.
"Java هي لغة برمجة ومنصة في آن واحد.
كيف هو Java منصة مستقلة؟
على عكس مُترجم لغة C، فإن Java لا يقوم المترجم بإنتاج تعليمات برمجية أصلية قابلة للتنفيذ لجهاز معين. بدلاً من، Java ينتج تنسيقًا وسيطًا فريدًا يسمى بايت كوديتم تنفيذ الكود الوسيط وفقًا للقواعد المنصوص عليها في مواصفات JVM، ولهذا السبب Java هي لغة مستقلة عن النظام الأساسي.
يمكن فهم الشفرة الوسيطة بواسطة أي جهاز JVM مثبت على أي نظام تشغيل. باختصار، Java يمكن تشغيل الكود المصدري على جميع أنظمة التشغيل الحديثة دون الحاجة إلى إعادة تجميعه، وهو ما يُعد أساسًا لـ Javaوعد "اكتب مرة واحدة، وانطلق إلى أي مكان".








