คำถามติดแท็ก lru

21
คุณจะใช้แคช LRU ใน Java ได้อย่างไร?
กรุณาอย่าพูด EHCache หรือ OSCache ฯลฯ สมมติว่ามีวัตถุประสงค์ของคำถามนี้ที่ฉันต้องการใช้งานของตัวเองโดยใช้เพียง SDK (การเรียนรู้ด้วยการทำ) ระบุว่าแคชจะใช้ในสภาพแวดล้อมแบบมัลติเธรดคุณจะใช้โครงสร้างข้อมูลแบบใด ฉันได้ติดตั้งแล้วโดยใช้LinkedHashMapและCollections # synchronMapแต่ฉันอยากรู้ว่าคอลเลกชันใหม่ที่เกิดขึ้นพร้อมกันนั้นจะเป็นตัวเลือกที่ดีกว่าหรือไม่ ปรับปรุง: ฉันเพิ่งอ่านล่าสุดของ Yeggeเมื่อฉันพบว่านักเก็ตนี้: หากคุณต้องการการเข้าถึงอย่างต่อเนื่องและต้องการรักษาลำดับการแทรกคุณไม่สามารถทำได้ดีกว่า LinkedHashMap ซึ่งเป็นโครงสร้างข้อมูลที่ยอดเยี่ยมอย่างแท้จริง วิธีเดียวที่มันจะยอดเยี่ยมกว่านี้ก็คือถ้ามีเวอร์ชั่นที่เกิดขึ้นพร้อมกัน แต่อนิจจา ฉันคิดว่าสิ่งเดียวกันเกือบเหมือนกันก่อนที่ฉันจะไปLinkedHashMap+ Collections#synchronizedMapใช้งานฉันกล่าวถึงข้างต้น ดีใจที่ได้ทราบฉันไม่ได้มองข้ามบางสิ่ง จากคำตอบจนถึงตอนนี้ดูเหมือนว่าทางออกที่ดีที่สุดของฉันสำหรับ LRU ที่เกิดขึ้นพร้อมกันอย่างมากคือการขยายConcurrentHashMapโดยใช้ตรรกะเดียวกับที่LinkedHashMapใช้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.