Home برمجة جافا

جافا

ما هو الـ stacktrace؟

في لغة الجافا، تنقسم ذاكرة الـ JVM إلى عدة أقسام، ومنها ما يسمى بالـ stack. عند استدعاء دالة س (method) فإنه يُنشأ frameبداخله معلومات الدالة س ويوضع هذا الـ frame أعلى الـ stack. وعند الانتهاء من تنفيذ الدالة س، يتم إخراج الـ stack frame الخاص بالدالة س من الـ stack ويرجع مسار التنفيذ (flow of […]

الطريق إلى شهادة الجافا OCA 1Z0-803

بدايةً، أشكر الله عز وجل الذي وفقني باجتياز الامتحان وبالتالي الحصول على شهادة الجافا OCA 1Z0-803. سأكتب هنا تقريراً موجزاً عن تجربتي في التحضير لهذا الامتحان وما هي المصادر التي اعتمدتُ عليها، وكيفية التسجيل لهذا الامتحان وما مدى صعوبته.   – ما هي شهادة OCA 1Z0-803؟ تقدم شركة Oracle العديد من الشهادات في تقنياتها، ومن ضمن هذه […]

الـ Binary Serialization في الجافا

السلام عليكم و رحمة الله و بركاته   الفهرس : ما هي عملية الـ Serialization ؟ كيف نقوم بها ؟ مثال تطبيقي متى نستخدم transient ؟ الواجهة البديلة Externalizable اختبر قدراتك في الـ Serialization   1. ما هي عملية الـ Serialization ؟ الـ Serialization عبارة عن آلية تسمح بحفظ الكائنات في storage medium أي وسيلة […]

اختبر قدراتك في الـ Files, Threads, and Swing

السلام عليكم   قمتُ بكتابة هذا الموضوع نظراً لوجود العديد من الطلبات بخصوص مشاريع صغيرة تسمح للمبتدئين بقياس مدى فهم الأمور التي تعلموها في الجافا. الهدف من هذا المشروع هو إنشاء تطبيق صغير يسمح بإجراء عمليات معينة على حسابات بنكية و يُتيح تخزين بيانات كل عميل في ملف نصي على القرص الصلب.   المرحلة الأولى […]

الــ Collections في الجافا

السلام عليكم و رحمة الله و بركاته البداية ستكون مع تعريف بسيط و مختصر لهياكل البيانات بشكل عام ثم نأتي بعد ذلك إلى الـ Collections و أهميتها في البرمجة لننتقل إلى التغيرات الجديدة التي أضافها الـ Collections FrameWork من خلال استعراض الـ Hierarchy الجديد و شرح دور مختلف الـ interfaces الموجودة مثل Map, Set, List, […]

نظرة سريعة حول Lucene

العديد من البرامج التي نستخدمها بشكل يومي تستخدم خوارزميات سريعة في البحث قد لا ندري عنها، فبدئاً من محرك البحث في على الويب Google أو MSN Search والتي تخرج لك النتائج في غضون ثانية واحدة وأيضا برامج البحث في نظام التشغيل لديك Desktop Search Engine والتي تبحث في الملفات الموجودة لديك على النظام وتخرج لك […]

جافا دائماً Passing by Value

من المفاهيم الأساسية في مفهوم الدوال Functions/Methods في لغات البرمجة هو تمرير الوسائط Parameter Passing ، وبشكل عام هناك طريقتين للتمرير المعاملات الأولى هي التمرير بالقيمة Pass by Value والثانية هي Pass by Reference  . عند استخدام النوع الأول Pass by Value سوف يتم نسخ القيمة من المتغير أو الكائن المرسل الى المعامل الموجود في […]

منع تشغيل أكثر من نسخه من برنامجك

في بعض الأحيان قد نجبر المستخدم على عدم فتح أكثر من نسخه من البرنامج ، وخاصه في البرامج التي تتصل مع قاعده البيانات والتي لا تقوم بعمل Commit الا مثلا عند الخروج من البرنامج أو أي برنامج أخر مثلا مثل برامج المنبهات والتي تعمل كل مده معينه .. أو لأي سبب أخر يريده المبرمج. ولأن […]

برمجة التطبيقات الموزعه RMI بجافا

بسم الله الرحمن الرحيم . التطبيقات الشبكيه عاده تكون لنوعين من البرامج: الأول يهتم بكيفيه تبادل الملفات والبيانات بين الClient والـ Server ويتم التعامل مع هذا النوع باستخدام بروتكولات FTP,SMTP,HTTP وغيرها من البروتكولات. النوع الثاني من التطبيقات يهتم بكيفيه تشغيل برنامج أو داله في الجهاز الأخر مثل Telnet و Remote Procedure Call أختصارا RPC . […]

التعامل مع JList في Swing

سنتناول في هذا الموضوع لمحة بسيطة عن استخدام الJList وعمل Extending لها لكي تتناسب مع حاجة المستخدم ،، والJList وكغيرها من الSwing Component مبنية على مفهوم الModel-View-Controller وبالتالي اذا كنت تريد تغيير الObject الموجود داخل الComponent سوف تتعامل مع الModel ، واذا أردت تغيير طريقة العرض بالشكل الذي تريدها سوف تتعامل مع الView ، وهذه […]

الحصول على اسم الدولة من خلال عنوان الجهاز

عند حصولك على IP شخص ما سواء من خلال تسجيل logging هذا العنوان القادم للسيرفر أو حتى عند قرائتك للSMTP Header من صندوق بريدك حتى تحصل على عنوان مرسل الرسالة الحقيقي أو غيرها من الحالات فإنك في الغالب تود الحصول على الدولة التي يوجد فيها هذا العنوان.. لحسن الحظ أي دولة لديها Range معين من […]

حفظ إعدادت البرامج Storage Of Application Preferences

أي مستخدم User يفضل أن يحفظ البرنامج الذي يستخدمه الإعدادات والألوان وحجم الخطوط وأي Customization مباشره بعد أن يقوم تعديل خصائص البرنامج ، وبالتالي بمجرد تشغيل التطبيق مره أخرى يبدأ المستخدم في العمل بدلا من اعاده تجهيز تلك الإعدادات مره أخرى .. كمبرمج اذا أردت أن تطبيق مثل هذه الخاصية بدون أستخدام أي أدوات مساعدة […]

ماذا أستخدم: AWT أم Swing ؟

لطالما تسائل كثير من مبرمجي الجافا عن سبب وجود مكتبتين خاصه برسم المكونات GUI Components ، ومن هي الأفضل في التطبيقات؟ الجواب وكغيره في بعض الأسئلة هو عن طريق الرجوع لأصل وسبب نشأه تلك المكتبات،، فمنذ صدور نسخه جافا الأولى Java 1.0 وهي تحتوي على مكتبة Abstract Window Toolkit (الAWT) وهي كانت الأساس في تطوير […]

خارطة طريق لتعلم الجافا

خارطة طريق لتعلم الجافا هناك كثير من الكتب في لغه الجافا متوفرة في السوق أو المواقع الالكترونية ، فكيف تختار الكتاب الجيد الذي سوف يفيدك أثناء التعلم ؟ وما هي الكتب المناسبه لك حالياً؟ هذه المقالة سوف تجيبك على تلك الأسئلة ، وسوف نقسم الموضوع الى 3 سلات Buckets  (وليست مستويات) لأن الفكرة هو ان تقطف […]

قم بتحديث JSF Implementation

الاسبوع الماضي واجهت مشكلة في سيرفر احدى المواقع التي أقوم بتطوير مشروع باستخدام Java EE ، (51) About وجدي عصاممهندس برمجيات مهتم بعلوم الحاسب وبالأخص مجال الخوارزميات وهندسة البرمجيات وحماية التطبيقات،Mail | Web | Facebook | LinkedIn | More Posts (61)

الإسلوب الصحيح لكتابه Utility Classes

هناك الكثير من الدوال أو الثوابت نقوم بكتابتها ووضعها في كلاس ومن ثم نجد أن هناك كلاسات اخرى بحاجه لها، احد الحلول الخاطئة تماماً وهو نسخ ولصق تلك الدوال في اي كلاس كان في حاجه له، بالطبع الحل الصحيح وهو نقل هذه الدوال أو الثوابت الى كلاس عام يسهل للجميع الوصول اليه، تسمى هذه الكلاسات […]

قل لا ل Constructor بمعاملات كثيرة

ما هو عدد دوال البناء اذا أردت عمل overloading لأكثر من 4 معاملات بترتيب مختلف؟؟ هذه المرة الثانية نشن هجوماً على دالة البناء constructor، في مقالنا الأول (هل مللت من دالة البناء ) فضلنا دالة static factory method على ال constructor بسبب مقروئيتها وامكانية دعمك للCaching لو أردت في وقت لاحق. عندما تريد انشاء كائن من […]

لا تستخدم Public الا وقت الحاجة

قلل درجة الوصول للClass أو الMember بأقصى ما تستطيع! هناك نوعين من الكلاسات يمكن كتابتها في جافا، النوع الأول وهو الكلاس العادي الذي تكتبه عندما تنشى أي ملف جافا -ليس بداخل اي كلاس أخر- ونسميه عادة Top Level Class، النوع الأخر وهي الكلاسات التي تكون بداخل كلاس أخر وهي Nested Class. هذه المقاله تحث على […]

كيف تصمم الPackages جيداً في تطبيقات جافا

 كثير من المبرمجين لا يستخدموا ال packages بشكل جيد، فتارة تجد package باسم لا يدل على محتواها ، وتاره تجد package واحد بها كل الكلاسات في البرنامج، وتارة ترى أن المبرمج يستخدم ال Default Package (أي لم يقم بعمل اي package من الأساس) وهذا خطأ كبير في التطبيقات الكبيرة. فالمعامل الأول والمهم  للحكم ان تطبيقك […]

ماذا أضاف الProject Coin في جافا 7 ؟

ماذا تعرف عن ال Project Coin: المشروع Coin هو مشروع مفتوح المصدر بدء منذ 2009 وهو جزء أساسي من لغه جافا 7 و النسخه القادمة 8، والفكرة من وراء هذا المشروع هو تقديم التغييرات الصغيرة في اللغه حتى يتم اعتمادها، قدم لهذا المشروع أكثر من 70 مقترح وتمت الموافقه على 6 منها وهي تعتبر من التغييرات الموجودة […]