تفضل.
218 نقاط السمعة
97.9 ألف مشاهدات المحتوى
عضو منذ
2
الخطأ الذي وقعت فيه هو خطأ شائع عند مبرمجي جافا المبتدئين. لا تقارن بين اثنين من نوع String بالعلامة == (المقارنة هنا تعني ما إذا كان الاثنان يشيران لنفس الكائن في الذاكرة أم لا، ولا يتم مقارنة قيمتهما)، ولكن قارن بينهما بالدالة ()equals أو ()equalsIgnoreCase إذا أردت تجاهل حالة الأحرف كانت كبيرةً أم صغيرةً. لذلك أول شرط من المفترض أن يكون هكذا: if (!Job_spec.equalsIgnoreCase("DEVLOPER") && !Job_spec.equalsIgnoreCase("DESIGNER") && !Job_spec.equalsIgnoreCase("SELLER")) أيضاً، ما الفائدة من هذا الشرط؟ يبدو لي أنه خطأ! if (age_Designer
this هي كلمة محجوزة (keyword) تشير للعيّنة الحالية (current instance) من هذا الصنف (class) في عالم الكائنات (Object Oriented). **مقدمة عن عالم الكائنات:** من المعروف أن الـ class ما هو إلى وصف لشيء. وصف للصفات (fields) والأفعال (methods). فمثلاً الصنف Car يحتوي على عدة صفات مثل model - color - topSpeed، ويحتوي على عدة أفعال مثل startEngine - move. من هذا الصنف يمكن إنشاء عيّنات (instances) باستخدام الكلمة المحجوزة new مع استدعاء دالة البناء (constructor). فمثلاً ننشيء عينةّ يكون نوعها
> بالنسبة للكود فأنت عندما تمرر متغير بالقيمة فأنت تصل إلى قيمته وتتعامل مع نسخة من الكائن الأصل وبالتالي فإن أي تعديل على خصائصه لن يؤثر على الكائن الأصل > > أما التمرير بالمرجع فأنت تمرر مرجع الكائن الأصل وبالتالي أي تعامل مع خصائصه فأنت تعدل على الأصل كلام غير دقيق. يمكن تغيير خصائص الكائن من خلال "التمرير بالقيمة". كما أن التعامل يكون مع الكائن الأصل ذاته وليس نسخة منه. "التمرير بالمرجع" يعني أنه يمكن إسناد قيمة جديدة للمرجع الذي
انظر لها من طرف برنامج الجافا: Input: المدخل إلى البرنامج (قراءة). Output: المخرج من البرنامج (كتابة). والمصدر قد يكون قراءة/كتابة من/إلى ملف، أول قراءة ما يكتبه المستخدم على الـ console أو كتابة نص ما ليقرأه المستخدم على الـ cosole. قد يكون أيضاً قراءة بيانات من الشبكة/الإنترنت (download)، وقد يكون كتابة بيانات إلى الشبكة/الإنترنت (Upload). مكتبة java.io تنقسم إلى قسمين: 1- Byte Streams: وتعتمد على byte كوحدة، وأساسها الكلاسين InputStream و OutputStream. 2- Character Streams: وتعتمد على char كوحدة، وأساسها الكلاسين
تم نشره في وسائل التواصل الاجتماعي، والتفاعل جيد حتى الآن. توجد طريقة أسرع لإنجاح هذا المقترح، ألا وهي الدخول على قائمة الأعلى نقاط في stackoverflow من العرب: http://data.stackexchange.com/stackoverflow/query/141195/top-arab-developers ثم الدخول على الأوائل من القائمة (أول 50 مثلاً)، وكتابة رد في أقدم جواب لكل منهم (حتى لا يلاحظ أحد ;))، بحيث تضع رابط المقترح وتطلب منه المشاركة. من سيقوم بهذا العمل؟ :)
توجد بعض الطرق لحماية السورس الكود (إلى حدٍ ما) من الهندسة العكسية (عن طريق الـ decompilation): **1. الـ obfuscation:** وهي طريقة تقوم بتغيير أسماء الكلاسات والدوال والمتغيرات، لكي يصعب على "الهاكر" فهم السورس كود. ومن أشهر الـ obfuscator هو ProGuard. **2. التحويل من byte-code إلى native-code:** أي تقوم مثلاً بتحويل برنامج الجافا إلى exe، وبهذه الطريقة لن يمكن استرجاع كود الجافا الأصلي. لكن يعيب هذه الطريقة هو أنك لن تتمكن من تشغيل البرنامج على الأنظمة الأخرى، بعكس ما يميز برامج
جميل جداً، وأنا من أول الداعمين لهذا الإقتراح، بل أنني قمت بفتح مثل هذا الاقتراح قبل سنتين ولكن لم يتعدى المرحلة الأولى: http://arabteam2000-forum.com/index.php/topic/259515-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%84%D8%A5%D9%81%D8%AA%D8%AA%D8%A7%D8%AD-%D9%85%D9%88%D9%82%D8%B9-stackoverflow-%D8%A8%D8%A7%D9%84%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9/
بما أنك قادر على تشغيل البرنامج، وبما أن الخطأ هو NoClassDefFoundError للكلاس jade.wrapper.ControllerException، يمكن استنتاج أن المشكلة هي كالتالي: - عندما قمت بعمل compile للكلاس MainContainer، كان الكلاس jade.wrapper.ControllerException موجود في الـ classpath. بينما أثناء عمل run للكلاس MainContainer، الكلاس jade.wrapper.ControllerException لم يكن موجوداً في الـ classpath.
المتغير المعرف بـ final، لا يمكن إعطاءه قيمة جديدة من بعد أن ما تم إعطائه قيمة أولية. بمعنى آخر، لو لدينا متغير نصي من نوع local variable (أي داخل دالة) وقمنا بتعريفه كـ final: final String a; فإنه لا يقبل إسناد قيمة له إلا مرة واحدة: final String a; a = "test"; a = "test2"; // ERROR أو final String a = "test"; a = "test2"; // ERROR يمكن أيضاً تعريف الـ parameter كـ final، ويعني بأن قيمته ستكون ثابتة
باختصار: مجموعة من الدوال تُستخدَم للاستفادة من مكتبة برمجية معينة أو خدمة معينة. مثلاً، Twitter API هي مجموعة من الدوال على هيئة HTTP requests تستخدم للاستفادة من خدمات Twitter من تغريد وإعادة تغريد وغيرها من الخدمات. مثال آخر، المكتبة JMF في لغة الجافا، هي مكتبة برمجية تستخدم دوالها (its APIs) للتعامل مع الـ media من فيديو وأصوات.