কম্পিউটার

কখন আমরা জাভাতে স্ট্রিং ক্লাসের ইন্টার্ন() পদ্ধতি ব্যবহার করতে পারি?


ইন্টার্ন() পদ্ধতি স্ট্রিং ক্লাসের স্ট্রিং ডুপ্লিকেশন সমস্যা মোকাবেলা করতে ব্যবহার করা যেতে পারে জাভাতে। ইন্টার্ন() ব্যবহার করে আমরা ডুপ্লিকেট স্ট্রিং ইনস্ট্যান্স দ্বারা গ্রাস করা অনেক মেমরি সংরক্ষণ করতে পারি . একটি স্ট্রিং সদৃশ হয় যদি এতে অন্য স্ট্রিংয়ের মতো একই সামগ্রী থাকে তবে এটি বিভিন্ন মেমরি অবস্থান দখল করতে পারে৷

আমরা জানি যে JVM একটি পৃথক হিপ মেমরি বজায় রাখে কর্মক্ষমতা জন্য স্ট্রিং আক্ষরিক জন্য. একবার আমরা একটি স্ট্রিং লিটারেল ঘোষণা করলে এটি এই পুলে যাবে এবং যদি অন্য একটি ভেরিয়েবল একই আক্ষরিক মানের সাথে বরাদ্দ করা হয়, তবে এটি একটি নতুন বস্তু তৈরি করার পরিবর্তে পুল থেকে বাছাই করা হবে এবং এটিকে স্তূপে সংরক্ষণ করা হচ্ছে . কিন্তু যদি নতুন কনস্ট্রাকটো ব্যবহার করে স্ট্রিং ঘোষণা করা হয় r, পুলে আক্ষরিক অস্তিত্ব থাকলেও একটি নতুন বস্তু তৈরি করা হবে। এটি এড়াতে এবং JVM কে পুল থেকে আক্ষরিক বাছাই করতে বাধ্য করতে আমরা ইন্টার্ন() ব্যবহার করি পদ্ধতি।

Java স্বয়ংক্রিয়ভাবে সমস্ত স্ট্রিং ডিফল্টরূপে ইন্টার্ন করে। ইন্টার্ন() পদ্ধতিটি n এর সাথে স্ট্রিংগুলিতে ব্যবহার করা যেতে পারে ew স্ট্রিং() ==অপারেটর দ্বারা তাদের তুলনা করার জন্য।

উদাহরণ

পাবলিক ক্লাস স্ট্রিংইন্টারক্লাস টেস্ট { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { স্ট্রিং s1 ="টিউটরিক্স"; স্ট্রিং s2 ="Tutorix"; স্ট্রিং s3 =নতুন স্ট্রিং("টিউটরিক্স"); চূড়ান্ত স্ট্রিং s4 =s3.intern(); স্ট্রিং s5 ="?Tutorix".substring(1); স্ট্রিং s6 =s5.intern(); System.out.println(s1 ==s2); System.out.println(s2 ==s3); System.out.println(s3 ==s4); System.out.println(s1 ==s3); System.out.println(s1 ==s4); System.out.println(s1 ==s5); System.out.println(s1 ==s6); System.out.println(s1.equals(s2)); System.out.println(s2.equals(s3)); System.out.println(s3.equals(s4)); System.out.println(s1.equals(s4)); System.out.println(s1.equals(s3)); }}

আউটপুট

সত্যিই সত্যসাফল্যসেট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েট্রুয়েটর 
  1. জাভাতে স্ট্রিং ইন্টার্ন() পদ্ধতির ভূমিকা কী?

  2. আমরা কখন জাভাতে প্যাক() পদ্ধতি ব্যবহার করতে পারি?

  3. আমরা কি জাভাতে ক্লাসের নামের মতো একটি পদ্ধতির নাম সংজ্ঞায়িত করতে পারি?

  4. কখন একটি বিমূর্ত ক্লাস ব্যবহার করবেন এবং কখন জাভাতে একটি ইন্টারফেস ব্যবহার করবেন?