• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

ExpiringMap: mappa con “scadenza” in Java

By Giuseppe Maggi | on 14 Marzo 2017 | 0 Comment
Risorse utili

Le strutture dati a mappa sono molto utili in Java in quanto permettono di inserire un nuovo valore accompagnato da una chiave per il suo recupero rapido. Tra l’altro, questo tipo di meccanismo si presta bene alla realizzazione di cache dove come chiave viene usato un riferimento univoco (indirizzo di rete, un percorso su filesystem, etc.) e per valore i dati di cui si vorrà evitare il recupero ripetuto. Però una cache potrebbe avere bisogno di vedere le sue entry (accoppiata chiave/valore) cancellate in automatico dopo un tempo prestabilito: implementare in proprio tale meccanismo potrebbe richiedere un pò di lavoro e tempo pertanto oggi conosciamo una libreria molto utile che lo fa per noi, ExpiringMap. Oltre al suo scopo primario, questo strumento si distingue per efficienza e sicurezza, offrendo alte prestazioni in situazioni di concorrenza (è infatti un’implementazione di ConcurrentMap).

Dopo la sua integrazione nel progetto, la si inizializza tramite Builder specificando – ad esempio – il tempo dopo il quale una chiave deve annullarsi:

Map<String, Connection> map = ExpiringMap.builder()
  .expiration(30, TimeUnit.SECONDS)
  .build();

Oltre a ciò sono stati previsti tutti i comportamenti più comuni in casi del genere come il conteggio del tempo in base a momento di creazione o ultimo accesso, personalizzazione delle politiche per singola entry, uso di listener e molto altro.

ExpiringMap è uno di quegli strumenti efficienti, di piccole dimensioni, intuitivi ma che riescono a farci trovare risolto un problema spinoso che potrebbe causarci più di un grattacapo.

Dovesse capitarvi di implementare una cache all’interno di un software, provate ad utilizzare questa classe e rimarrete sorpresi delle risorse di cui dispone.

Alla prossima!

Share this story:
  • tweet

Tags: cachehashmapjavamultithreadingstrutture dati

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment
  • Stringhe in Kotlin

    23 Agosto 2018 - 0 Comment

Author Description

No Responses to “ExpiringMap: mappa con “scadenza” in Java”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO