Java tutorial | دروس جافا 👨🏻‍🏫
2.29K subscribers
87 photos
81 videos
29 files
53 links
حبيت اشاركم كل معرفتي في الجافا ولغات اخرى فسويت هذه القناة
اتمنى أن تعود بالمنفعة عليكم🌹
لطلب حل تكاليف أو مشاريع تواصل معي على

Telegram: @abdu01010

Whatsapp: https://wa.me/967783399063

كما نقدم خدمات تسوقية في القناة مدفوعة الاجرة
..............
Download Telegram
⭕️ Compiler & Interpreter

ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻‍🏫
@abdu01010
——————————————————
هذا الموضوع كثير من المبرمجين يتلخبط بينهم وما يعرف ايش قصتهم بشكل دقيق...
درس اليوم هو عن المترجمات للغات البرمجة
طبعا الفكرة العامة لكلا المترجمين هو انهم يترجموا الكود اللي يتم كتابته الى لغة الالة (machine code)
طبعا هذا النوع من المترجمات فقط يأتي مع اللغات الحديثة التي هي من المستوى المتوسط و العالي ... كما تحدثنا عن هذا الموضوع باسهاب في الشرح السابق 👈🏻 لغات البرمجة

📌اولا Compiler :
هو مترجم للاكواد البرمجة المكتوبة من قبل المبرمج بحيث يترجمها الى لغة الالة التي يفهمها الحاسوب بشكل عام
ولكن التعريف الدقيق لهذا النوع من المترجمات هو المقصود به ترجمة الكود المكتوب كاااااملا وانشاء ملف مكتمل للكود مترجم تماما اي بمعنى ان هذا النوع من المترجمات يقوم بالعمل لمرة واحده فقط واذا تم تشغيل الكود مرة اخرى لا يقوم بعمل ترجمة من جديد الا في حالة حصل تغير في الكود هنا يعيد الترجمة للكود كامل وعمل ملف مترجم جاهز مره اخرى
وهذا النوع من المترجمات في المره الاولى يكون بطيء ولكن في المره الثانية عند عمل تشغيل للكود مباشرة يقوم بتشغيل الكود دون الحاجة للترجمة مره اخرى وهذا لانه عنده ملف الترجمة جاهز.
—————————————————

📌ثانيا Interpreter:
هو أيضًا نوع من المترجمات ولكن يعمل بطريقة مختلفة عن الـ Compiler... بدلاً من ترجمة الكود كاملاً دفعة واحدة كما يفعل الـ Compiler يقوم الـ Interpreter بترجمة الكود سطرًا بسطر
هذا يعني أنه في كل مرة يتم فيها تشغيل الكود يقوم بترجمة وتنفيذ الأوامر بشكل متتابع.
————————————————————

⭕️ الفرق الرئيسي بينهما:

📍اولا Compiler:
يترجم الكود مرة واحدة وينتج ملفًا قابلًا للتنفيذ... هذا الملف يمكن تشغيله مرات متعددة دون الحاجة لإعادة الترجمة مما يجعله أسرع في التنفيذ بعد الترجمة الأولى.
أمثلة على اللغات التي تستخدم Compiler هي :
C , C++ ,...

📍ثانيا Interpreter:
يترجم وينفذ الكود سطرًا بسطر في كل مرة يتم فيها تشغيل الكود مما يجعله أبطأ في التنفيذ مقارنةً بالـ Compiler
لكنه يسهل عملية تطوير الكود واكتشاف الأخطاء بسرعة. أمثلة على اللغات التي تستخدم Interpreter هي :
Python ,...

————————————————————
كل الحقوق محفوظة لقناة
Java tutorial

Tel:
@Java_tutorial0101
3👍1👏1
سؤال جافا ماهو نوع المترجم الذي فيها ؟؟

سيتم الرد على هذا السؤال بتفصيل غدا ان شاءالله 😊
5🤝1
ماهو نوع المترجم في الجافا ؟🤔
اولا اعرف ماهي المترجمات من هنا👈🏻 المترجمات

ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻‍🏫
@abdu01010
https://wa.me/967783399063
—————————————————

📌 الجواب باختصار تستخدم كلا المترجمين ( Compiler , Interpreter)

⭕️ الجواب بالتفصيل :( تابع الشرح للاخير... عشان تتوضح الامور )
بالنسبة للجافا فهي تمر بمرحلتين في الترجمة :

📍اولا يتم ترجمة الاكواد الى نوع من الاكواد يسموه Bytecode وهذا يتم عن طريق المترجم Compiler اي انه يتم انشاء ملف كامل للاكواد يحوي على اكواد تسمى Bytecode وهذا الملف يكون على امتداد class اي بمعنى لو عندك ملف جافا لما تسوي له رن في المرة الاولى يتم انشاء ملف كامل بامتداد class يعني كذا :-
main.java ==يتحول الى => main.class

طبعا بتشوف هذا الموضوع لو استخدمتم الكونسول في عملية تنفيذ الكود الامر اللي يستخدم في الكونسول هو
javac main.java

—————————————————

📍ثانيا بعد عملية الـ Compiling يأتي دور الـ Interpreter يقوم بتنفيذ سطر سطر للاكواد الموجودة في الملف اللي بامتداد class وتحويله مباشرة الى لغة الالة. ( لسة ماكملنا الشرح تابع...)

طيب الان اكيد لو فهمت بتسألني ليش طيب يسوا زي كذا مكان قادرين يخلوه يسوي compiler او interpreter وخلاص❗️🙄

طبعا الجواب ياعزيزي السبب لهذي العملية هو لان الجافا بحد ذاتها في معاها مشغل خاص يسموه JVM هذا المشغل هو السبب وراء قوة جافا وسيطرتها على السوق لفترة طويلة

وهذا المشغل الفكرة الرئيسية له انه يسمح للبرامج اللي تبنى بجافا انها تشتغل على اي نظام كان... حتى على الويب بتشتغل... وهذا كله على نفس الكود التنفيذي اللي يسموه bytecode بدون الحاجة لعملية الـ compiling مره ثانية...

بعكس لغة ++C مثلا لو سويت برنامج للويندوز مابيشتغل نفسه على الماك وهكذا... والسبب هو لانه يتم انشاء ملف تنفيذي بستخدام الـ compiler مباشرة فيه لغة الالة وهذا الملف يكون مخصص فقط للتفاهم مع نظام الويندوز وهكذا.... فلذلك تضطر لإنشاء ملف تنفيذي خاص في كل نظام يتم التشغيل عليه...

اما في الجافا اولا بيتم انشاء ملف فيه اكواد تسمى bytecode باستخدام الـ compiler وبعدها ياتي دور الـ JVM حيث يقوم بترجمة هذا الملف باستخدام الـ interpreter بشكل فوري سطر سطر بما يتناسب مع النظام اللي هو شغال عليه بمعنى ان الملف اللي بأمتداد class ماينفذه الا الـ JVM مشان كذا تلاقي تقريبا كل الانظمة جواتها ال JVM من الشركة نفسها حتى المتصفحات فيها JVM مدمج.
————————————————————

الخلاصة:
الجافا تستخدم كلا من الـ Compiler والـ Interpreter لتحقيق التوافقية والتشغيل عبر منصات متعددة. عملية الترجمة في الجافا تمر بمرحلتين: الأولى هي تحويل الكود المصدر إلى Bytecode باستخدام الـ Compiler ثم يأتي دور الـ JVM الذي يستخدم الـ Interpreter لتنفيذ هذا الـ Bytecode على أي نظام تشغيل. بفضل هذه العملية، يمكن تشغيل برنامج جافا واحد على مختلف الأنظمة بدون الحاجة لإعادة ترجمة الكود.
————————————————————
كل الحقوق محفوظة لقناة Java tutorial

Tel: @Java_tutorial0101
4👍1
صورة توضيحية لخطوات تنفيذ الكود التابع لجافا
هذي الشروحات 90% مابتحصلوها بشكل مباشر مثلما انا اقدمها لكم 😊🤍
فتقديرا لمجهودي لا تقصرون في نشر القناة ربنا يوفقكم جميعا🌹
10🫡2
علامة احد المستفيدين حديثا😊💯
#ردود
---------------------------------------------------
طلب عمل مشاريع او حل واجبات
Tele: @abdu01010

WhatsApp: https://wa.me/967783399063

TeleChannel: @Java_tutorial0101
👍4👏1
Media is too big
VIEW IN TELEGRAM
طريقة ضغط ملف المشروع في النتبينز

————————————————————
كل الحقوق محفوظة لقناة Java tutorial

Tel: @Java_tutorial0101

لطلب عمل مشاريع او حل واجبات
Tele: @abdu01010

WhatsApp: https://wa.me/967783399063
4
Media is too big
VIEW IN TELEGRAM
طريقة فك الضغط عن ملف وتشغيله على النتبينز

————————————————————
كل الحقوق محفوظة لقناة Java tutorial

Tel: @Java_tutorial0101

لطلب عمل مشاريع او حل واجبات
Tele: @abdu01010

WhatsApp: https://wa.me/967783399063
4👍1
📌 درس اليوم عن Exception handling

#Java_Level_2
2
📌 Exceptions handling
——————————————————-
الترجمة الحرفيه لهذا المصطلح هو : معالجة الاستثناءات
المقصود بهذا الموضوع هو ادراة الاحداث الغير مرغوبه او الغير متوقعه التي تحدث اثناء تنفيذ البرنامج او اثناء العمل عليه لتجنب الخروج المفاجئ من البرنامج وما الى ذلك من الاخطاء التي قد تحدث بسبب ادخال خاطئ او عدم وجود بيانات معينة... اي بمعنى انها اخطاء لا تحدث اثناء كتابة الكود.
ملاحظة مهمة :
الاخطاء من هذا النوع سهل حلها من قبل المبرمج نفسه بحيث يقوم بكتابة اكواد معينه تعمل على معالجة هذي الاخطاء وذلك عن طريق تفادي وقوعها .

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

————————————————————
#Java_Level_2

Tel: @Java_tutorial0101
2
📌الفرق بين Error و Exception

—————————————--

يمكن تلخيص الفروقات كالتالي:

التعريف:

Error:
هي مشكلات جسيمة تحدث على مستوى النظام أو البيئة، وتكون عادةً خارج سيطرة البرنامج.
—————
Exception:
هي مشكلات تحدث أثناء تشغيل البرنامج بسبب أخطاء برمجية أو مدخلات غير صحيحة، ويمكن معالجتها.
——————————————-
أمثلة:

Error:
مثل OutOfMemoryError (نفاد الذاكرة)، وStackOverflowError (تجاوز سعة المكدس).
—————
Exception:
مثل NullPointerException (محاولة الوصول إلى كائن فارغ)
وIOException (خطأ في الإدخال/الإخراج).
———————————————————
إمكانية المعالجة:

Error:
لا يستطيع المبرمج معالجة الأخطاء باستخدام الكود البرمجي، لأنها عادة تتطلب إصلاحات على مستوى النظام.
—————
Exception:
يمكن للمبرمج معالجتها باستخدام try-catch وغيرها... لمنع توقف البرنامج.
——————————————————
الأصل:

Error:
تنحدر من المكتبة
java.lang.Error.
—————
Exception:
تنحدر من المكتبة
java.lang.Exception.
—————————————-
التأثير:

Error:
عادة ما تتسبب في توقف البرنامج بالكامل.
—————
Exception:
يمكن التعامل معها، والبرنامج يستمر في التنفيذ.

————————————————————
#Java_Level_2

Tel: @Java_tutorial0101
2👍2
شرح تفصيلي وتطبيق عملي 👇
👍2
Media is too big
VIEW IN TELEGRAM
1️⃣ Try-catch block


————————————————————
#Java_Level_2

Tel: @Java_tutorial0101
👍2
Media is too big
VIEW IN TELEGRAM
2️⃣ Finally Block_ Throws Keyword_ Checked vs Unchecked Exception


————————————————————
#Java_Level_2

Tel: @Java_tutorial0101
👍2
Media is too big
VIEW IN TELEGRAM
3️⃣ Throw keyword_ Throw vs Throws_ Throw _ finally_ Custom exception

————————————————————
#Java_Level_2

Tel: @Java_tutorial0101
👍2
تبقى اقل من القليل ونوصل ال 2k مشترك في القناة 😍
انشروا القناة بين الطلاب الجدد وفقكم الباري 🤍
❤‍🔥21🫡1
بمناسبة وصولنا لألفين مشترك وزيادة [ 2K+ ]
ببعث لكم البرنامج المتميز والاحترافي في التعامل مع لغة جافا وانا شخصيا استخدمه في كل اعمالي
برنامج:
intelliJ IDEA Ulimate
طبعا جلبت لكم النسخةالمدفوعة الغير محدوده فيها ميزات كثيره وهذا عشانكم ☺️🤍
❤‍🔥33👍1