تهيئة السلسلة باستخدام " " في Java: حالة خاصة
يمكن تهيئة فئة السلسلة في Java، على الرغم من كونها كيانًا موجهًا للكائنات باستخدام علامات الاقتباس المزدوجة. وقد دفعت هذه الخصوصية إلى السؤال: كيف يكون هذا ممكنًا في حدود البرمجة الشيئية؟
نهج جافا الفريد
خلافًا لفكرة أن كل شيء في جافا يجب أن يكون سواء كانت كائنًا، فقد اختار مصممو اللغة الاحتفاظ بأنواع البيانات البدائية لأسباب تتعلق بالأداء. توفر البدائيات، الموجودة في مكدس الاستدعاءات، معالجة أسرع واستخدامًا أقل للذاكرة مقارنة بالكائنات المخصصة للكومة.
لتحقيق التوازن بين هذه الاعتبارات، تم تصميم سلسلة Java كهجين. إنها تتصرف ككائن بدائي ولكنها تمتلك أيضًا بعض خصائص الكائن.
String Literal Pool
عندما يتم إنشاء سلسلة حرفية باستخدام علامات الاقتباس المزدوجة، يتم تعيينها مباشرة إلى التجمع الحرفي للسلسلة. يقوم المجمع بتخزين مستودع مشترك للسلاسل شائعة الاستخدام لتحسين استخدام الذاكرة. المراجع اللاحقة لنفس السلسلة الحرفية يتم سحبها من هذا التجمع، مع تجنب التكرار غير الضروري.
كائن سلسلة
في المقابل، عندما يتم إنشاء كائن سلسلة باستخدام "جديد" المشغل، يتم تخصيصه على الكومة مثل الكائنات الأخرى. كائنات السلسلة هذه متميزة وتشغل مساحة الذاكرة الخاصة بها.المقارنة والتخزين
لتوضيح هذا السلوك، خذ بعين الاعتبار مقتطف التعليمات البرمجية التالي: سلسلة s1 = "مرحبا"; // سلسلة حرفية سلسلة s2 = "مرحبا"; // سلسلة حرفية سلسلة s3 = s1؛ // نفس المرجع String s4 = new String("Hello"); // كائن سلسلة String s5 = new String("Hello"); // كائن سلسلةString s1 = "Hello"; // String literal String s2 = "Hello"; // String literal String s3 = s1; // Same reference String s4 = new String("Hello"); // String object String s5 = new String("Hello"); // String objectكما هو موضح في الرسم التخطيطي، تشير كل من s1 وs2 وs3 إلى نفس السلسلة الحرفية في التجمع، في حين أن s4 وs5 عبارة عن كائنات سلسلة مميزة.
الآثار والاحتياطات
هذا السلوك الفريد له آثار مهمة على معالجة السلسلة. وبما أن القيم الحرفية غير قابلة للتغيير ومشتركة، فإن تعديل أحدها يؤثر على جميع الإشارات إليها. ومع ذلك، فإن كائنات السلسلة قابلة للتغيير، مما يسمح بإجراء تعديلات على حالات معينة دون التأثير على حالات أخرى.يعد النظر في هذه الفروق أمرًا بالغ الأهمية للتعامل الفعال والصحيح مع السلسلة في برامج Java.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3