Ո՞ր կրկնիչն է անվտանգ ձախողման համար:

Բովանդակություն:

Ո՞ր կրկնիչն է անվտանգ ձախողման համար:
Ո՞ր կրկնիչն է անվտանգ ձախողման համար:
Anonim

Iterator-ը ArrayList-ում, HashMap դասերը-ը խափանման արագ կրկնվողի որոշ օրինակներ են: … Դա պայմանավորված է նրանով, որ նրանք գործում են հավաքածուի կլոնի վրա, ոչ թե սկզբնական հավաքածուի վրա, և այդ պատճառով նրանք կոչվում են անհաջող կրկնողներ: Iterator-ը CopyOnWriteArrayList-ում, ConcurrentHashMap դասերը անհաջողությամբ ապահով Iterator-ի օրինակներ են:

Արդյո՞ք iterator-ը անվնաս է Java-ում:

Java-ում կրկնողն օգտագործվում է հավաքածուի օբյեկտների վրայով անցնելու համար: Հավաքածուները վերադարձնում են երկու տեսակի կրկնիչներ, կամ դա կլինի Fail Fast կամ Fail Safe: Fail Fast կրկնողներն անմիջապես գցում են ConcurrentModificationException հավաքածուի կառուցվածքային փոփոխության դեպքում:

Ի՞նչն է ձախողման համար անվտանգ և ձախողման արագությունը Java-ում:

Անվտանգ ձախողում: 1. Բացառություն. Հավաքածուի ցանկացած փոփոխություն, ինչպես օրինակ՝ շղթայի ընթացքում հավաքածուի ավելացում, հեռացում և թարմացում, կրկնում են հավաքածուն, այնուհետև Fail fast նետում միաժամանակյա փոփոխության բացառություն: Սխալների համար անվտանգ հավաքածուն բացառություն չի անում:

Արդյո՞ք ցուցակի կրկնողն արագ է ձախողվում:

կրկնիչները վերադարձվել են ArrayList-ի կրկնող և listIterator մեթոդները արագ չեն աշխատում. եթե ցանկը կառուցվածքային ձևափոխված է ցանկացած պահի կրկնիչի ստեղծումից հետո, որևէ կերպ, բացառությամբ iterator-ի սեփական հեռացման կամ ավելացման մեթոդների դեպքում, կրկնողը կգցի ConcurrentModificationException.

Արդյո՞ք ArrayList-ը խափանում է:

ArrayList-ի կրկնողն արագ է ձախողվում, այնպես որ մինչ դուքկրկնել ArrayList-ի վրա՝ օգտագործելով Iterator-ը, եթե հիմքում ընկած ArrayList-ը փոփոխվել է որևէ այլ եղանակով, բացի ավելացնելու և հեռացնելու, որը տրամադրվել է Iterator-ի կողմից, այն կհեռացնի ConcurrentModificationException-ը և կփրկվի:

Խորհուրդ ենք տալիս: