কম্পিউটার

জাভাতে ব্যর্থ-দ্রুত এবং ব্যর্থ নিরাপদের মধ্যে পার্থক্য


Sr. না। কী ফেল-ফাস্ট ফেল-সেফ
1
ব্যতিক্রম৷
সংগ্রহের যেকোন পরিবর্তন, যেমন একটি থ্রেডের সময় সংগ্রহ যোগ করা, অপসারণ করা এবং আপডেট করা সংগ্রহের পুনরাবৃত্তি হয় তারপর ফেইল ফাস্ট থ্রো কনকারেন্ট পরিবর্তন ব্যতিক্রম।
ব্যর্থ-নিরাপদ সংগ্রহ ব্যতিক্রম নিক্ষেপ করে না।
2.
সংগ্রহের ধরন
অ্যারেলিস্ট এবং হ্যাশম্যাপ সংগ্রহ ব্যর্থ-দ্রুত পুনরাবৃত্তিকারীর উদাহরণ
CopyOnWrite এবং সমসাময়িক পরিবর্তন হল একটি ব্যর্থ-নিরাপদ পুনরাবৃত্তির উদাহরণ
3.
কর্মক্ষমতা এবং মেমরি
এর পরিবর্তে এটি প্রকৃত সংগ্রহে কাজ করে। সুতরাং, এই পুনরাবৃত্তিকারীর অতিরিক্ত মেমরি এবং সময় প্রয়োজন হয় না
এটি প্রকৃত সংগ্রহের পরিবর্তে সংগ্রহের একটি ক্লোনের উপর কাজ করছে। এটি সময় এবং স্মৃতির দিক থেকে ওভারহেড
4.
পরিবর্তন
পুনরুক্তিকারীরা এটির উপর পুনরাবৃত্তি করার সময় একটি সংগ্রহের পরিবর্তনের অনুমতি দেয় না।
ব্যর্থ-নিরাপদ পুনরাবৃত্তিকারীরা এটির উপর পুনরাবৃত্তি করার সময় একটি সংগ্রহের পরিবর্তনের অনুমতি দেয়।

ফেলসেফের উদাহরণ

public class FailSafeExample{
   public static void main(String[] args){
      ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<String, Integer>();
      //Adding elements to map
      map.put("Dell", 1);
      map.put("IBM", 2);
      //Getting an Iterator from map
      Iterator<String> it = map.keySet().iterator();
      while (it.hasNext()){
      String key = (String) it.next();
         System.out.println(key+" : "+map.get(key));
         map.put("Google", 3);
      }
   }
}

আউটপুট

IBM :2
Dell:1

ফেলসেফের উদাহরণ

public class FailFastExample{
   public static void main(String[] args){
      List<Integer> list = new ArrayList<Integer>();
      list.add(1);
      list.add(2);
      list.add(3);
      //Getting an Iterator from list
      Iterator<Integer> it = list.iterator();
      while (it.hasNext()){
         Integer integer = (Integer) it.next();
         list.add(4);
      }
   }
}

আউটপুট

Exception in thread "main" java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)

  1. জাভাতে সিরিয়ালাইজেশন এবং এক্সটারনালাইজেশনের মধ্যে পার্থক্য

  2. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  3. জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য

  4. জাভাতে একটি Iterator এবং ListIterator এর মধ্যে পার্থক্য