বলিলেন Javadoc :
স্ট্রিমগুলির একটি বেসস্ট্রিম.ক্লোজ () পদ্ধতি রয়েছে এবং অটোক্লোজেবল বাস্তবায়ন করা হয় তবে প্রায় সমস্ত স্ট্রিম দৃষ্টান্ত ব্যবহারের পরে আসলে বন্ধ করার প্রয়োজন হয় না। সাধারণত, কেবলমাত্র যার স্ট্রিমগুলির আইও চ্যানেল (যেমন ফাইল.লাইনস দ্বারা পাঠানো (পথ, চরসেট)) বন্ধ করতে হবে। বেশিরভাগ স্ট্রিমগুলি সংগ্রহ, অ্যারে বা উত্পন্ন ফাংশন দ্বারা ব্যাক হয়, যার জন্য কোনও বিশেষ সংস্থান ব্যবস্থাপনার প্রয়োজন হয় না। (যদি কোনও স্ট্রিমের সমাপ্তির প্রয়োজন হয়, তবে এটি সম্পদ-সহ-বিবৃতিতে সংস্থান হিসাবে ঘোষণা করা যেতে পারে))
"প্রায় সমস্ত" এবং "সাধারণভাবে" অস্পষ্ট - যদি আপনি কোনও লাইব্রেরি লিখছেন এবং আপনি যদি সেই স্ট্রিমের ব্যবহারকারীদের কাছ থেকে আপনার স্ট্রিমের উত্সটি বিমূর্ত করছেন, তবে আপনাকে সর্বদা নিজেকে প্রশ্ন জিজ্ঞাসা করতে হবে - "আমার কি বন্ধ করা উচিত? এই?" আইও-সমর্থিত স্ট্রিমগুলি বন্ধ করা দরকার কারণ টার্মিনাল ক্রিয়াকলাপগুলি কল করে না close
, তাই কার্যকরভাবে আমাকে সর্বদা হয় / স্মরণ করতে হবে যেখানে আমার স্ট্রিমটি আসছে, বা আমার সর্বদা close
এটিতে রয়েছে।
আমার অনুমান যে পারমাণবিক বিকল্পটি হ'ল পদ্ধতিগুলি থেকে স্ট্রিমগুলি ফিরে না আসা বা স্ট্রিমের পরামিতিগুলি গ্রহণ না করা, এটি জেডিকে দলের কিছু লোকের দ্বারা প্রতিধ্বনিত হওয়া একটি অনুভূতি। আমি দেখতে পেয়েছি যে স্ট্রিমগুলির ব্যবহারিক উপযোগিতা বিবেচনা করে অত্যধিক সীমাবদ্ধ করা উচিত।
স্ট্রিম বন্ধ করার চারপাশে আপনার সেরা অনুশীলনগুলি কী কী? আমি জেডিকে কিছু লোকের কাছ থেকে উত্তরটির জন্য অনলাইনে সন্ধান করেছি যারা সাধারণত অনুরূপ সম্প্রদায় প্রশ্নগুলিতে সক্রিয়, তবে প্রাসঙ্গিক কোনও কিছু পাইনি।