Heim > Java > javaLernprogramm > Hauptteil

Wie können MapMaker und CacheBuilder von Guava die Verwaltung ablaufender Schlüssel in Java Maps vereinfachen?

Patricia Arquette
Freigeben: 2024-11-20 18:48:16
Original
776 Leute haben es durchsucht

How Can Guava's MapMaker and CacheBuilder Simplify Expiring Key Management in Java Maps?

Ablaufende Schlüssel in Java Maps verwalten

Als Java-Entwickler kann der Umgang mit Schlüsselablaufmechanismen oft eine umständliche Aufgabe sein. Viele suchen nach einer unkomplizierten Lösung, die eine manuelle Bereinigung überflüssig macht und ausschließlich auf einer codebasierten Implementierung basiert. Um diese Herausforderung zu lindern, lohnt es sich, in die Google Collections-Bibliothek (jetzt Guava) einzutauchen.

Wir stellen MapMaker und CacheBuilder vor

Guava bietet zwei leistungsstarke Tools für die zeitbasierte Verwaltung Karten: MapMaker und CacheBuilder. MapMaker ermöglicht die flexible Anpassung von Karten, einschließlich der Möglichkeit, Ablaufzeiten für seine Einträge festzulegen. CacheBuilder, eingeführt in Guava 10.0, bietet eine modernisierte Schnittstelle zum Konfigurieren von Caching-Mechanismen.

Ablaufzeiträume festlegen

Um Ablaufzeiträume für Karteneinträge zu konfigurieren, können Sie Folgendes verwenden Methoden:

  • MapMaker: Ablauf(lange Dauer, TimeUnit-Einheit)
  • CacheBuilder: ExpireAfterWrite(lange Dauer, TimeUnit-Einheit) oder ExpireAfterAccess(lange Dauer, TimeUnit-Einheit)

Beispielimplementierung mit MapMaker

ConcurrentMap<Key, Graph> graphs = new MapMaker()
   .concurrencyLevel(4)
   .softKeys()
   .weakValues()
   .maximumSize(10000)
   .expiration(10, TimeUnit.MINUTES)
   .makeComputingMap(
       new Function<Key, Graph>() {
         public Graph apply(Key key) {
           return createExpensiveGraph(key);
         }
       });
Nach dem Login kopieren

Verbesserungen in Guava 10.0

In Guava 10.0 wurden die ursprünglichen MapMaker-Methoden zugunsten von CacheBuilder veraltet. Das folgende Beispiel zeigt die Verwendung von CacheBuilder:

LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder()
    .maximumSize(10000)
    .expireAfterWrite(10, TimeUnit.MINUTES)
    .build(
        new CacheLoader<Key, Graph>() {
          public Graph load(Key key) throws AnyException {
            return createExpensiveGraph(key);
          }
        });
Nach dem Login kopieren

Durch die Nutzung dieser Tools können Sie zeitbasierte Karten mühelos in Java verwalten, um die automatische Löschung abgelaufener Schlüssel sicherzustellen und die Effizienz Ihrer Datenverarbeitungsmechanismen zu optimieren.

Das obige ist der detaillierte Inhalt vonWie können MapMaker und CacheBuilder von Guava die Verwaltung ablaufender Schlüssel in Java Maps vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage