Java дээр вектор утас аюулгүй юу?
Java дээр вектор утас аюулгүй юу?

Видео: Java дээр вектор утас аюулгүй юу?

Видео: Java дээр вектор утас аюулгүй юу?
Видео: Java On Conference 2022, JDK 19, Spring Framework 6 и Spring Boot 3 [Новости MJC #11] 2024, Арваннэгдүгээр
Anonim

Вектор аргууд бүгд синхрончлогдсон. Тиймээс үүнийг олон талаас нь ашиглаж байна утаснууд байна" аюулгүй ". Унших-үнэлэх-бичих процессыг атом болгох шаардлагатай тохиолдолд л синхрончлох хэрэгтэй. Өөрийн аргуудыг синхрончлох нь таны кодыг заавал хийх албагүй. утас - аюулгүй эдгээр хувилбаруудын хувьд.

Үүнийг анхаарч үзвэл Java-д жагсаалтын хэлхээ аюулгүй юу?

Үнэн хэрэгтээ, бүх цуглуулгын ангиуд (Вектор болон Hashtable-аас бусад). java . util багц биш юм утас - аюулгүй . Тийм ч учраас шинэ цуглуулгууд ( Жагсаалт , Set, Map гэх мэт) нь нэг урсгалтай програмуудад хамгийн их гүйцэтгэлийг хангахын тулд зэрэгцээ хяналтыг огт өгдөггүй.

Үүнтэй адилаар Java-д ямар цуглуулга аюулгүй вэ? А утас - аюулгүй class гэдэг нь ангийн дотоод төлөвийг баталгаажуулдаг анги бөгөөд аргуудаас буцаагдсан утгууд, олон ангитаас нэгэн зэрэг дуудагдах үед зөв байх болно. утаснууд . The цуглуулга гэсэн ангиуд утас - Java дээр аюулгүй Эдгээр нь Stack, Vector, Properties, Hashtable гэх мэт.

Үүнийг анхаарч үзвэл Java HashSet урсгал аюулгүй юу?

HashSet биш Thread Saf HashSet in Java биш утас аюулгүй Энэ нь анхдагчаар синхрончлогдоогүй тул. Хэрэв та хэрэглэж байгаа бол HashSet олон урсгалтай орчинд олон хүн ханддаг утаснууд зэрэгцүүлэн, бүтцийн хувьд ч гэсэн ганцаарчилсан байдлаар өөрчилсөн утас дараа нь үүнийг гаднаас нь синхрончлох ёстой.

ArrayList эсвэл вектор аль нь аюулгүй вэ?

Вектор байгаа шигээ удаан байна утас аюулгүй . Харьцуулбал ArrayList Энэ нь синхрончлолгүй учраас хурдан байдаг. Ийнхүү орж байна ArrayList хоёр ба түүнээс дээш утаснууд код руу нэгэн зэрэг хандах боломжтой Вектор нэгээр хязгаарлагддаг утас тухай үед. А Вектор өгөгдмөл нь массивын хэмжээг хоёр дахин нэмэгдүүлэх.

Зөвлөмж болгож буй: