জাভাতে স্ট্রিং পুলের ধারণা কী?



জাভার স্ট্রিং পুল জাভা হ্যাপ মেমোরিতে স্ট্রিংগুলির একটি পুল। এই টিউটোরিয়ালটি আপনাকে জাভা স্ট্রিং পুলের উদাহরণগুলির সাথে বিশদ পদ্ধতির সাথে সহায়তা করবে।

আপনি এই শব্দটির কথা শুনেছেন? 'জাভা স্ট্রিং পুল?' ঠিক আছে, যদি না হয়, আপনি সঠিক জায়গায় অবতরণ করেছেন। জাভার স্ট্রিং পুল স্ট্রিংগুলির একটি পুল যা এতে সঞ্চিত থাকে গাদা স্মৃতি। আসুন আমরা আরও গভীরভাবে খনন করি এবং জাভা স্ট্রিং পুলের এই ধারণাটি বিশদভাবে বুঝতে পারি।

নিম্নলিখিত নিবন্ধগুলি এই নিবন্ধে আলোচনা করা হবে:





চল শুরু করি!

প্রথমত, আসুন আমরা বুঝতে পারি যে স্ট্রিং অবজেক্টটি কীভাবে তৈরি করা হয়!



স্ট্রিং কিভাবে তৈরি করবেন?

জাভাতে একটি স্ট্রিং অবজেক্ট তৈরি করতে, দুটি উপায় রয়েছে:

  • নতুন অপারেটর ব্যবহার করে। উদাহরণ স্বরূপ,
স্ট্রিং এস 1 = নতুন স্ট্রিং ('জয়ে')
  • একটি স্ট্রিং আক্ষরিক বা ধ্রুবক এক্সপ্রেশন ব্যবহার করে। উদাহরণ স্বরূপ,
স্ট্রিং এস 1 = 'জোয়' (স্ট্রিং আক্ষরিক) বা স্ট্রিং এস 1 = 'জো' + 'ই' (স্ট্রিং ধ্রুবক অভিব্যক্তি)

এখন, এই স্ট্রিং পুলটি আমি কী নিয়ে কথা বলছি এবং জাভাতে কোনও স্ট্রিং তৈরি করার সাথে এটি সম্পর্কিত। আমাকে খসখস করে কাটুক!

কিভাবে জাভাতে jframe করবেন make

জাভার স্ট্রিং পুল কী?

স্ট্রিং পুল জাভা হিপগুলির একটি স্টোরেজ অঞ্চল।



স্ট্রিং বরাদ্দ, সবার মতো অবজেক্ট বরাদ্দ , সময় এবং স্মৃতি উভয় ক্ষেত্রেই ব্যয়বহুল সম্পর্ক হিসাবে প্রমাণিত হয়। কর্মক্ষমতা বাড়াতে এবং মেমরির ওভারহেড হ্রাস করতে স্ট্রিং আক্ষরিক শুরু করার সময় JVM কিছু পদক্ষেপ সম্পাদন করে। জেভিএম-এ তৈরি স্ট্রিং অবজেক্টের সংখ্যা হ্রাস করতে স্ট্রিং ক্লাস স্ট্রিংয়ের একটি পুল রাখে।

প্রতিবার একটি স্ট্রিং আক্ষরিক তৈরি করা হয়, জেভিএম প্রথমে স্ট্রিং আক্ষরিক পুল পরীক্ষা করে। স্ট্রিং পুলে স্ট্রিং ইতিমধ্যে উপস্থিত থাকলে, পুলযুক্ত উদাহরণের একটি রেফারেন্স ফিরে আসে। যদি পুলে স্ট্রিং উপস্থিত না থাকে তবে একটি নতুন স্ট্রিং অবজেক্টটি আরম্ভ করে এবং পুলটিতে স্থাপন করা হয়।

ধারণাটি তাত্ত্বিকভাবে শেখার পরে, আমি আপনাকে বলি যে স্ট্রিং পুল কীভাবে জাভাতে ধাপে ধাপে সরল দৃষ্টান্তগুলির সাহায্যে কাজ করে!

স্ট্রিং পুল জাভাতে কীভাবে কাজ করে?

আপনি যখন নতুন স্ট্রিংটি তৈরি করেন:

স্ট্রিং এস 1 = 'রাহেল'

স্ট্রিং ধ্রুবক পুলে একই মান বিদ্যমান কিনা তা জেভিএম স্বয়ংক্রিয়ভাবে পরীক্ষা করে।

  • যদি হ্যাঁ, এটি ইতিমধ্যে বিদ্যমান মানটি দখল করে।
  • যদি না হয় তবে এটি নিজেই একটি নতুন স্ট্রিং তৈরি করে এবং স্ট্রিং পুলে এটি যুক্ত করে।

আপনি যদি এই আচরণটি থামাতে চান তবে নতুন অপারেটর ব্যবহার করে একটি স্ট্রিং তৈরি করুন:

স্ট্রিং এস 1 = নতুন স্ট্রিং ('রাহেল')

এখন, আপনি যদি এই স্ট্রিংটি যুক্ত করতে ইচ্ছুক হন , জাভা আপনাকে একটি অভ্যন্তর () পদ্ধতি বলে একটি পদ্ধতি সরবরাহ করে যা আপনি দেশী ইন্টার্ন () পদ্ধতিটিকে এভাবে কল করতে পারেন:

S1.intern ()

এখন, আমি আপনাকে উদাহরণের মাধ্যমে স্ট্রিং পুলের প্রয়োগ ও কার্যকারিতা দেখাব।

তবে তার আগে একটি সংক্ষিপ্ত স্মৃতি!

যেমন আপনি জানেন যে আপনি == অপারেটর ব্যবহার করে 2 টি অবজেক্টের তুলনা করছেন এটি মেমরির ঠিকানার সাথে তুলনা করে।

জাভা কোডগুলি কীভাবে সংকলন করা যায়

সুতরাং আমরা নিশ্চিত হয়েছি যে এটি একই বস্তুটি না কি না = == ব্যবহার করে স্ট্রিংগুলি তুলনা করব।

এখন, আসুন আমাদের বাস্তবায়ন প্রক্রিয়াতে আসা যাক।

জাভাস্ক্রিপ্ট ইভেন্ট কি

জাভার স্ট্রিং পুল: ফ্লো ডায়াগ্রাম

স্ট্রিং-পুল - এডুরেকা

এখন আমাদের ধাপে ধাপে এখানে কী ঘটে তা ধরা যাক:

  • ক্লাস লোড হয় যখন অনুরোধ করা হয়।
  • জেভিএম প্রোগ্রামের সমস্ত স্ট্রিং আক্ষরিক জন্য সন্ধান করে
  • প্রথমে এটি ভেরিয়েবলটি এস 1 আবিষ্কার করে যা আক্ষরিক 'অ্যাপল' কে বোঝায় এবং এটি স্মৃতিতে তৈরি হয়
  • আক্ষরিক 'অ্যাপল' এর জন্য একটি রেফারেন্স পরে স্ট্রিং ধ্রুবক পুল মেমরিতে রাখা হয়।
  • তারপরে এটি আরও একটি পরিবর্তনশীল এস 2 খুঁজে পাবে যা একই স্ট্রিংটির আক্ষরিক 'আম' বোঝায়।
  • তারপরে এটি আরও একটি ভেরিয়েবল এস 3 আবিষ্কার করবে যা আক্ষরিক 'অ্যাপল' কে বোঝায়
  • এখন যেহেতু জেভিএম ইতিমধ্যে একটি স্ট্রিং আক্ষরিক 'অ্যাপল' সন্ধান করেছে, s1 এবং s3 উভয় ভেরিয়েবল একই বস্তু অর্থাত্ 'অ্যাপল' উল্লেখ করবে।

স্ট্রিং পুলের জন্য জাভা প্রোগ্রাম

পাবলিক ক্লাস স্ট্রিংপুলএক্স্পেরিমেন্ট {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) ring স্ট্রিং এস 1 = 'রাচেল' স্ট্রিং এস 2 = 'রাচেল' স্ট্রিং এস 3 = নতুন স্ট্রিং ('রাচেল') স্ট্রিং এস 4 = নতুন স্ট্রিং ('রাচেল')। ইন্টার্ন ( ) System.out.println (s1 == s2) // true System.out.println (s1 == s3) // মিথ্যা System.out.println (s1 == s4) // সত্য}

আউটপুট:

সত্য
মিথ্যা
সত্য

উপরের উদাহরণে, আপনি তিনটি উপায়েই স্ট্রিং ইনিশিয়ালাইজেশনটির ব্যবহার স্পষ্ট দেখতে পাচ্ছেন i.e

স্ট্রিং এস 1 = 'রাচেল' স্ট্রিং এস 2 = 'রাহেল' স্ট্রিং এস 3 = নতুন স্ট্রিং ('র্যাচেল') স্ট্রিং এস 4 = নতুন স্ট্রিং ('রাচেল')। ইন্টার্ন ()

প্রোগ্রামটির অভ্যন্তরীণ কাজটি সম্ভবত এখন পরিষ্কার হওয়া উচিত।

এটির সাথে আমি আমার ব্লগের শেষের দিকে পৌঁছেছি। আমি আশা করি যে এখানে বর্ণিত বিষয়বস্তুগুলি আপনাকে আপনার জ্ঞানের ভিত্তিকে প্রশস্ত করতে সহায়তা করবে। আমরা জাভা বিশ্বে ডাইভিং চালিয়ে যাব। সাথে থাকুন!

দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে যারা জাভা ডেভেলপার হতে চান। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট এবং বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি বিভিন্ন জাভা কাঠামোর পাশাপাশি আপনাকে মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে & বসন্ত

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'জাভাতে স্ট্রিং পুল' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।