افترض انك تبحث عن شخص فى دليل التليفون وكان اسمة يبدأ بحرف الكاف (بالطريقة التقليدية) فأنت تبدأ بفتح الدليل وتبحث من الصفحة الاولى وتقلب الصفحات الى أن تصل للصحفة التى بها حرف الكاف . لكن كان من الافضل ان تبدأ من منتصف الدليل لانك تعلم أن حرف الكاف ليس من الحروف...
في لغة الجافا، تنقسم ذاكرة الـ JVM إلى عدة أقسام، ومنها ما يسمى بالـ stack. عند استدعاء دالة س (method) فإنه يُنشأ frameبداخله معلومات الدالة س ويوضع هذا الـ frame أعلى الـ stack. وعند الانتهاء من تنفيذ الدالة س، يتم إخراج الـ stack frame الخاص بالدالة س من الـ stack...
بدايةً، أشكر الله عز وجل الذي وفقني باجتياز الامتحان وبالتالي الحصول على شهادة الجافا OCA 1Z0-803. سأكتب هنا تقريراً موجزاً عن تجربتي في التحضير لهذا الامتحان وما هي المصادر التي اعتمدتُ عليها، وكيفية التسجيل لهذا الامتحان وما مدى صعوبته. – ما هي شهادة OCA...
السلام عليكم و رحمة الله و بركاته الفهرس : ما هي عملية الـ Serialization ؟ كيف نقوم بها ؟ مثال تطبيقي متى نستخدم transient ؟ الواجهة البديلة Externalizable اختبر قدراتك في الـ Serialization 1. ما هي عملية الـ Serialization ؟ الـ Serialization عبارة عن آلية تسمح...
السلام عليكم قمتُ بكتابة هذا الموضوع نظراً لوجود العديد من الطلبات بخصوص مشاريع صغيرة تسمح للمبتدئين بقياس مدى فهم الأمور التي تعلموها في الجافا. الهدف من هذا المشروع هو إنشاء تطبيق صغير يسمح بإجراء عمليات معينة على حسابات بنكية و يُتيح تخزين بيانات كل عميل في ملف...
السلام عليكم و رحمة الله و بركاته البداية ستكون مع تعريف بسيط و مختصر لهياكل البيانات بشكل عام ثم نأتي بعد ذلك إلى الـ Collections و أهميتها في البرمجة لننتقل إلى التغيرات الجديدة التي أضافها الـ Collections FrameWork من خلال استعراض الـ Hierarchy الجديد و شرح دور...
العديد من البرامج التي نستخدمها بشكل يومي تستخدم خوارزميات سريعة في البحث قد لا ندري عنها، فبدئاً من محرك البحث في على الويب Google أو MSN Search والتي تخرج لك النتائج في غضون ثانية واحدة وأيضا برامج البحث في نظام التشغيل لديك Desktop Search Engine والتي تبحث في...
طريقة تمرير المتغيرات في جافا Java من المفاهيم الأساسية في مفهوم الدوال Functions/Methods في لغات البرمجة هو تمرير المتغيرات أو المعاملات للدوال Parameter Passing، وبشكل عام هناك طريقتين للتمرير المعاملات الأولى هي التمرير بالقيمة Pass by Value والثانية هي Pass by...
في بعض الأحيان قد نجبر المستخدم على عدم فتح أكثر من نسخه من البرنامج ، وخاصه في البرامج التي تتصل مع قاعده البيانات والتي لا تقوم بعمل Commit الا مثلا عند الخروج من البرنامج أو أي برنامج أخر مثلا مثل برامج المنبهات والتي تعمل كل مده معينه .. أو لأي سبب أخر يريده...
التطبيقات الشبكيه عاده تكون لنوعين من البرامج: الأول يهتم بكيفيه تبادل الملفات والبيانات بين الClient والـ Server ويتم التعامل مع هذا النوع باستخدام بروتكولات FTP,SMTP,HTTP وغيرها من البروتكولات. النوع الثاني من التطبيقات يهتم بكيفيه تشغيل برنامج أو داله في الجهاز...
سنتناول في هذا الموضوع لمحة بسيطة عن استخدام الJList وعمل Extending لها لكي تتناسب مع حاجة المستخدم ،، والJList وكغيرها من الSwing Component مبنية على مفهوم الModel-View-Controller وبالتالي اذا كنت تريد تغيير الObject الموجود داخل الComponent سوف تتعامل مع الModel ،...
عند حصولك على IP شخص ما سواء من خلال تسجيل logging هذا العنوان القادم للسيرفر أو حتى عند قرائتك للSMTP Header من صندوق بريدك حتى تحصل على عنوان مرسل الرسالة الحقيقي أو غيرها من الحالات فإنك في الغالب تود الحصول على الدولة التي يوجد فيها هذا العنوان.. لحسن الحظ أي دولة...
أي مستخدم User يفضل أن يحفظ البرنامج الذي يستخدمه الإعدادات والألوان وحجم الخطوط وأي Customization مباشره بعد أن يقوم تعديل خصائص البرنامج ، وبالتالي بمجرد تشغيل التطبيق مره أخرى يبدأ المستخدم في العمل بدلا من اعاده تجهيز تلك الإعدادات مره أخرى .. كمبرمج اذا أردت أن...
لطالما تسائل كثير من مبرمجي الجافا عن سبب وجود مكتبتين خاصه برسم المكونات GUI Components ، ومن هي الأفضل في التطبيقات؟ الجواب وكغيره في بعض الأسئلة هو عن طريق الرجوع لأصل وسبب نشأه تلك المكتبات،، فمنذ صدور نسخه جافا الأولى Java 1.0 وهي تحتوي على مكتبة Abstract Window...
هناك كثير من الكتب في لغه الجافا متوفرة في السوق أو المواقع الالكترونية ، فكيف تختار الكتاب الجيد الذي سوف يفيدك أثناء التعلم ؟ وما هي الكتب المناسبه لك حالياً؟ هذه المقالة سوف تجيبك على تلك الأسئلة ، وسوف نقسم الموضوع الى 3 سلات Buckets (وليست مستويات) لأن الفكرة هو...
الاسبوع الماضي واجهت مشكلة في سيرفر احدى المواقع التي أقوم بتطوير مشروع باستخدام Java EE ، المشكلة كانت غربيه حيث انها لا تظهر Not Reproducible على جهازي الشخصي ، وكانت المشكلة في الصفحة الرئيسية حيث كنا نطور فيها باستمرار وكانت تعمل بلا مشاكل، ولكن بمجرد اضافة بعضاً...
هناك الكثير من الدوال أو الثوابت نقوم بكتابتها ووضعها في كلاس ومن ثم نجد أن هناك كلاسات اخرى بحاجه لها، احد الحلول الخاطئة تماماً وهو نسخ ولصق تلك الدوال في اي كلاس كان في حاجه له، بالطبع الحل الصحيح وهو نقل هذه الدوال أو الثوابت الى كلاس عام يسهل للجميع الوصول اليه،...
ما هو عدد دوال البناء اذا أردت عمل overloading لأكثر من 4 معاملات بترتيب مختلف؟ هذه المرة الثانية نشن هجوماً على دالة البناء constructor، في مقالنا الأول (هل مللت من دالة البناء ) فضلنا دالة static factory method على ال constructor بسبب مقروئيتها وامكانية دعمها...
قلل درجة الوصول للClass أو الMember بأقصى ما تستطيع! هناك نوعين من الكلاسات يمكن كتابتها في جافا، النوع الأول وهو الكلاس العادي الذي تكتبه عندما تنشى أي ملف جافا -ليس بداخل اي كلاس أخر- ونسميه عادة Top Level Class، النوع الأخر وهي الكلاسات التي تكون بداخل كلاس أخر وهي...
كثير من المبرمجين لا يستخدموا ال packages بشكل جيد، فتارة تجد package باسم لا يدل على محتواها، وتاره تجد package واحد بها كل الكلاسات في البرنامج، وتارة ترى أن المبرمج يستخدم ال Default Package (أي لم يقم بعمل اي package من الأساس) وهذا خطأ كبير في التطبيقات الكبيرة....