Dead store
কম্পিউটার প্রোগ্রামিং-এ, একটি স্থানীয় পরিবর্তনশীল যা একটি মান বরাদ্দ করা হয় কিন্তু পরবর্তী কোনও নির্দেশ দ্বারা পড়া হয় না তাকে ডেড স্টোর হিসাবে উল্লেখ করা হয়। ডেড স্টোরগুলি প্রসেসরের সময় এবং মেমরি নষ্ট করে এবং স্ট্যাটিক প্রোগ্রাম বিশ্লেষণ ব্যবহারের মাধ্যমে সনাক্ত করা যেতে পারে এবং একটি অপ্টিমাইজিং কম্পাইলার দ্বারা অপসারণ করা যেতে পারে। যদি কোনও দোকানের উদ্দেশ্য ইচ্ছাকৃতভাবে ডেটা ওভাররাইট করা হয়, উদাহরণস্বরূপ যখন একটি পাসওয়ার্ড মেমরি থেকে সরানো হচ্ছে, তখন ডেড স্টোর অপ্টিমাইজেশানগুলি রাইট না হওয়ার কারণ হতে পারে, যার ফলে একটি নিরাপত্তা সমস্যা হতে পারে। কিছু সিস্টেম লাইব্রেরিতে এই ধরনের বিপজ্জনক অপ্টিমাইজেশান এড়ানোর জন্য নির্দিষ্ট ফাংশন রয়েছে, যেমন। ওপেনবিএসডি-তে সুস্পষ্ট _ bzero। উদাহরণস্বরূপ একটি ডেড স্টোরের জাভা উদাহরণ হলঃ// DeadStoreExample.java আমদানি java.util.ArrayList; আমদানি java.util.Arrays; আমদানি java.util.List; পাবলিক ক্লাস ডেডস্টোরএক্সাম্পল {পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং [] আর্গস) {তালিকা <স্ট্রিং> তালিকা = নতুন অ্যারে তালিকা <স্ট্রিং> ();// এটি একটি ডেড স্টোর, কারণ অ্যারে তালিকাটি কখনও পড়া হয় না। লিস্ট = গেটলিস্ট (); System.out.println (তালিকা);} প্রাইভেট স্ট্যাটিক লিস্ট <স্ট্রিং> গেটলিস্ট () {রিটার্ন নিউ অ্যারেলিস্ট <স্ট্রিং> (Arrays.asList ("হ্যালো");}} উপরের কোডে একটি অ্যারেলিস্ট <স্ট্রিং> অবজেক্ট তাৎক্ষণিকভাবে ব্যবহার করা হয়েছিল কিন্তু কখনও ব্যবহার করা হয়নি। পরিবর্তে, পরবর্তী লাইনে যে পরিবর্তনশীলটি এটিকে উল্লেখ করে তা একটি ভিন্ন বস্তুর দিকে নির্দেশ করার জন্য সেট করা হয়। তালিকা ঘোষণার সময় যে অ্যারে তালিকা তৈরি করা হয়েছিল তা এখন আবর্জনা সংগ্রাহক দ্বারা বরাদ্দ করা হবে। একটি ডেড স্টোরের জাভাস্ক্রিপ্ট উদাহরণ হলঃ ফাংশন ফাংক (a, b) {ভার x; ভার i = 300; যখন (i--) {x = a + b;// ডেড স্টোর} লুপের কোডটি বারবার একই পরিবর্তনশীলকে ওভাররাইট করে, তাই এটি শুধুমাত্র একটি কল-এ হ্রাস করা যেতে পারে। আরও দেখুন ডেড কোড আনরিচেবল কোড রেফারেন্স কম্পাইলার অপ্টিমাইজেশান সফ্টওয়্যার অসঙ্গতি জাভা কোডের উদাহরণ সহ নিবন্ধ