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

Telegram: @abdu01010

Whatsapp: https://wa.me/967783399063

كما نقدم خدمات تسوقية في القناة مدفوعة الاجرة
..............
Download Telegram
🧠 Java Memory: Stack & Heap
لفهم الفرق بين Primitive, Reference, Instance Variables, Object، لازم أولاً نفهم كيف جافا تدير الذاكرة.
الذاكرة في جافا تنقسم إلى منطقتين رئيسيتين:

Stack Memory (الذاكرة المؤقتة السريعة)

Heap Memory (الذاكرة المخصصة للكائنات)

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

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

عزيزي الطالب، دعنا نوضح كل واحدة منهم بطريقة مبسطة:

📌 أولاً: Stack Memory (ذاكرة المكدس)

تُستخدم لتخزين:
Primitive Variables (int, double, char …)
References للكائنات (العناوين التي تشير لمكان الكائن في Heap).
متغيرات محلية داخل الميثود.

مميزاتها:
⚡️ سريعة جداً في الوصول.
⚡️ تُدار أوتوماتيكياً (عند خروج الميثود، تُحذف كل بياناته من الـ Stack).

📝 مثال:
int x = 10;   // يخزن في Stack
String str; // المرجع (العنوان) يخزن في Stack


📌 ثانياً: Heap Memory (ذاكرة الكومة)

تُستخدم لتخزين:
Objects (الكائنات) التي تُنشأ باستخدام new.
Instance Variables الخاصة بالكائنات.

مميزاتها:
🧠 أبطأ من Stack لكنها مرنة (تخزن كائنات ضخمة).
🧠 تبقى الكائنات موجودة حتى لو خرجت من الميثود، طالما هناك مرجع يشير إليها.
🧠 إذا لم يعد هناك أي مرجع يشير للكائن ⇒ Garbage Collector يقوم بحذفه تلقائياً.

📝 مثال:
Student s1 = new Student();  
// الكائن Student يُخزن في Heap
// المرجع (العنوان) s1 يُخزن في Stack

💡 صورة ذهنية مبسطة:

تخيل Stack مثل مكتب صغير فوق الطاولة: تضع عليه أوراقك (primitive) أو كروت عليها عناوين (references).

تخيل Heap مثل مخزن ضخم خلف المكتب: فيه الكائنات (objects) نفسها. الكارت الموجود على المكتب (reference) يقول لك: "اذهب إلى الرف رقم كذا في المخزن".


—————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101
)
Tel: @Java_tutorial0101
1
🧠 Java Variables & Objects: Primitive, Reference, Instance, and Object

هذا الموضوع مهم جداً لأنه يوضح لك كيف جافا تتعامل مع البيانات في الذاكرة، سواء كانت بسيطة مثل الأرقام أو معقدة مثل الكائنات (Objects).

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

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

عزيزي الطالب، عند التعامل مع جافا ستواجه هذه الأنواع الأساسية:

Primitive Variable
Reference Variable
Instance Variable
Object


خلينا نشرحها بالتفصيل وبأسلوب مبسط.

📌 أولاً: Primitive Variables (المتغيرات الأولية)
هذه هي الأنواع البسيطة في جافا، تخزن القيمة نفسها داخل الذاكرة (stack).
أنواعها: int, double, char, boolean, …

int age = 25;
double gpa = 3.9;


النسخ (نسب متغير لمتغير اخر) هنا يعمل نسخة مستقلة من القيمة:

int x = 10;
int y = x;
y = 20;
System.out.println(x); // 10


📌 ثانياً: Reference Variables (المتغيرات المرجعية)
المتغير المرجعي لا يخزن الكائن نفسه، بل يخزن العنوان في الذاكرة (pointer غير مباشر للكائن في الـ Heap).
String str1 = "Java";
String str2 = str1;


هنا:

str1 يشير إلى كائن String يحتوي النص Java .

str2 يأخذ نفس العنوان، أي أن كلاهما يشيران لنفس الكائن.

لكن:

إذا غيرت str2 إلى "Python"، فلن يتغير str1 لأنه سيشير إلى كائن جديد.

السبب: الكائنات من نوع String في جافا Immutable (غير قابلة للتغيير).

💡 ملاحظة مهمة: في الكلاسات الأخرى (غير String)، إذا عدلت على الكائن من خلال مرجع واحد، سترى التغيير في المرجع الآخر لأنهما يشيران لنفس الكائن كما سنشرح تباعا في الـ Object.

📌 ثالثاً: Object (الكائن)
الكائن هو نسخة حقيقية (instance) من الكلاس.
عند استخدام الكلمة new يتم إنشاء كائن جديد في الذاكرة (Heap)، وتُرجع مرجع (Reference) يشير إليه.

Student s1 = new Student(); // إنشاء كائن جديد


هنا:

Student هو class (مخطط).

s1 هو reference variable يشير إلى الكائن.

الكائن نفسه (object) يحتوي على instance variables (مثل name, age).

 Student s1 = new Student(); // إنشاء كائن جديد
s1.name = "Ali";
s1.age = 20;

Student s3 = s1; // s3 و s1 يشيران لنفس الكائن
s3.age = 30; // تغيير عبر s3

هنا:

s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.
أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.

📌 رابعا: Instance Variables (المتغيرات الخاصة بالكائن)
هي المتغيرات المعرفة داخل الكلاس ولكن خارج أي method.
كل كائن (Object) يتم إنشاؤه من الكلاس يحصل على نسخة مستقلة من هذه المتغيرات.
class Student {
String name; // instance variable
int age; // instance variable
}

Student s1 = new Student();
s1.name = "Ali";
s1.age = 20;

Student s2 = new Student();
s2.name = "Sara";
s2.age = 22;


كل طالب (s1, s2) له بياناته الخاصة.

💡 صورة ذهنية مبسطة:


تخيل أن الكلاس (Class) هو مخطط بيت.

Object هو البيت الحقيقي المبني من المخطط.

Instance Variables هي الغرف داخل البيت (محتوى الكائن).

Reference Variable هو العنوان على الخريطة الذي يدلنا على مكان البيت.

Primitive Variable مثل ورقة صغيرة تكتب عليها رقماً وتحفظها معك (مستقلة بذاتها).

————————————————————
كل الحقوق محفوظة لقناة
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
2
Java tutorial | دروس جافا 👨🏻‍🏫
🧠 Java Variables & Objects: Primitive, Reference, Instance, and Object هذا الموضوع مهم جداً لأنه يوضح لك كيف جافا تتعامل مع البيانات في الذاكرة، سواء كانت بسيطة مثل الأرقام أو معقدة مثل الكائنات (Objects). ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻‍🏫 Tel: @abdu01010 WApp: …
برنامج بسيط في جافا يوضح الفرق بين Primitive, Reference, Instance Variables, و Object في مثال واحد.
ᴀʙᴅᴜʟʙᴀʀɪ ᴀʟ-ᴍᴀᴍᴀʀɪ 👨🏻‍🏫
Tel: @abdu01010
WApp: https://wa.me/967783399063

—————————————————
// تعريف كلاس Student
class Student {
// Instance Variables (لكل كائن نسخة خاصة)
String name;
int age;
}

public class VariablesDemo {
public static void main(String[] args) {

// 1️⃣ Primitive Variable
int x = 10;
int y = x; // نسخة مستقلة
y = 20;
System.out.println("Primitive:");
System.out.println("x = " + x); // 10
System.out.println("y = " + y); // 20
System.out.println("--------------------");

// 2️⃣ Reference Variable مع String
String str1 = "Java";
String str2 = str1; // يشيران لنفس الكائن
str2 = "Python"; // str2 يشير الآن لكائن جديد
System.out.println("Reference:");
System.out.println("str1 = " + str1); // Java
System.out.println("str2 = " + str2); // Python
System.out.println("--------------------");

// 3️⃣ Object + Instance Variables
Student s1 = new Student(); // إنشاء كائن جديد
s1.name = "Ali";
s1.age = 20;

Student s2 = new Student(); // إنشاء كائن ثاني
s2.name = "Sara";
s2.age = 22;

System.out.println("Objects & Instance Variables:");
System.out.println("s1 -> name: " + s1.name + ", age: " + s1.age);
System.out.println("s2 -> name: " + s2.name + ", age: " + s2.age);
System.out.println("--------------------");

// 4️⃣n توضيح أن المرجع يشير لنفس الكائن

Student s3 = s1; // s3 و s1 يشيران لنفس الكائن
s3.age = 30; // تغيير عبر s3
System.out.println("Reference to same object:");
System.out.println("s1 -> age: " + s1.age); // 30
System.out.println("s3 -> age: " + s3.age); // 30
}
}


📌 شرح ما يحدث في البرنامج

Primitive Variable

x = 10،

y = x ⇒ نسخة مستقلة.

تغيير y لا يؤثر على x.

Reference Variable

str1 و str2 يشيران لنفس النص "Java".

عند إسناد "Python" لـ str2، صار يشير لكائن جديد مختلف.

str1 ظل يشير لـ "Java".

Object + Instance Variables

s1 و s2 كائنان مختلفان من Student.

لكل كائن نسخة خاصة من المتغيرات name و age.

Reference to same object

s3 = s1 ⇒ كلاهما يشيران لنفس الكائن.

أي تعديل على s3 سيظهر في s1 لأنه نفس الكائن.
————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
1
اكثر كلام واقعي يصف الحياة...
م/محمد ابو هدهود
👍63👌1
اسعد الله ايامكم ووفقكم في حياتكم العلمية والعملية..

⭕️ بما ان القناة غير ربحية...

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


وذلك لدعمنا وتشجيعنا في الاستمرار في نشر المزيد وتوسيع خدماتنا بشكل مجاني

للتواصل :

Tele: @abdu01010

WhatsApp: https://wa.me/967783399063

————————————————————
ادارة قناة Java tutorial

Tel: @Java_tutorial0101
2👍2
نحيطكم علما اننا نقدم خدمات تصميم الهويات البصرية والاعلانات والشعارات فمن يحتاج من هذه الخدمات يقدر يتواصل معي كمان
للتواصل :

Tele: @abdu01010

WhatsApp: https://wa.me/967783399063

————————————————————
3
AWJ_Profile_Template.pdf
10 MB
عمل بروفايلات تليق بمقام مشاريعكم واعمالكم
3
تقدروا تنضموا للقروب و تستفيدوا من بعض في اي شي يخص برمجة بلغة جافا او غيرها...

https://t.me/java_tutorial0101_group
👍2
Supermarket_simple.pdf
4.7 MB
واحد من المشاريع التي قمنا بعملها لاحد طلاب جامعة طيبة والقائمة تطول...😊
للتواصل :

Tele: @abdu01010

WhatsApp: https://wa.me/967783399063
👍2🤩1
عندنا اقل الاسعار وافضل جودة فلا تتردد في الاستفادة من خدماتنا
للتواصل :

Tele: @abdu01010

WhatsApp: https://wa.me/967783399063
🫡2👍1
نقوم ببناء مثل كذا مشاريع واكثر بأفضل الاسعار
وكمان نقدم شروحات للمشاريع اللي نصنعها بالفيديو ونشرح فيه الكود كامل بالتفصيل الممل
لطلب عمل مشاريع او واجبات تواصل معي على:
Tele: @abdu01010

WhatsApp: https://wa.me/967783399063
3👍1
من المشاريع العملية التي افتخر بانجازها

نظام إدارة الأمانات – مكتب النور للأمانات

نظام إدارة الأمانات هو تطبيق يعمل على Android وiOS، تم تصميمه وتطويره خصيصًا لمكتب النور للأمانات لصاحبها مصعب محمد، بهدف تنظيم وإدارة أعمال الأمانات والشحن والتوصيل بشكل رقمي حديث.

يتيح النظام إدارة كاملة للأمانات من لحظة الاستلام وحتى التسليم، مع تسجيل بيانات المرسل والمستلم، متابعة الحالات، إدارة السائقين والخطوط، وربط كل عملية بنظام محاسبي دقيق يشمل الصندوق، العمولات، الأرصدة، والسندات المالية.
كما يدعم إصدار سندات وتقارير رسمية بصيغة PDF، ونظام رسائل SMS لإشعار العملاء والسائقين، ضمن واجهة سهلة وعصرية تناسب العمل اليومي.

تم تنفيذ النظام بما يلبي احتياجات مكتب النور بشكل خاص، مع قابلية التخصيص والتوسع حسب متطلبات أي مشروع كان.

📌 يمكنك طلب نظام مشابه أو مخصص حسب طبيعة عملك من خلال التواصل معنا

مطور البرمجيات: م. عبدالباري سلطان
📞 هاتف / واتساب: https://wa.me/967783399063
📧 البريد الإلكتروني: apparri0101@gmail.com

حلول برمجية عملية… مصممة لتناسب واقع العمل.
5❤‍🔥1
دبس نفسك غير كذا مش هتعرف تبدأ
مفيش حاجة اسمها اللحظة المثالية للبدأ
👌82
تخيّل تترجم كتاب كامل… بدون ما بتأثر التنسيق في الملف

هذا مش كلام تسويق،
هذا اللي يقدمه X-Doc AI 👀

🔥 ترجمة ملفات كاملة مرة واحدة
🌍 أكثر من 100 لغة (العربي موجود وبقوة)
🖼️ الصور، الجداول، والتنسيق؟ محفوظة 100%
📚 عندك مصطلحات خاصة؟ أضف قاموسك وخليه يشتغل عليك

الأداة هذي لو بيدك محتوى ثقيل
📘 كتب
📄 أبحاث
📑 ملفات شغل
فأنت حرفيًا وفّرت وقت

🔗 جرّبه بنفسك
https://x-doc.ai

————————————————————
اشترك في القناة لتعلم المزيد
Java tutorial (https://t.me/java_tutorial0101)
Tel: @Java_tutorial0101
2
07 Memory Managements.pdf
1.2 MB
وهذا الملف قبل الترجمة
1
اي حد محتاج شغل تطبيقات موبايل سواء لمشاريع حقيقية للسوق او مشاريع تخرج يقدر يتواصل معي وابشروا بشغل يرفع راسكم ويبيض وجوهكم واسعار تطيب خاطركم...

واتساب:
https://wa.me/967783399063
📧 البريد الإلكتروني:
abdulbarisultan111@gmail.com
تلجرام:

@abdu01010
👍3🤝1🫡1