guava caching værker

, guava giver et meget kraftfuldt minde baseret caching mekanisme af en grænseflade loadingcache < k v >.værdier er automatisk lastet i depot, og det giver mange nyttige metoder til gavn for caching behov. interface - erklæringen efter er den erklæring, kom. google. fælles. lager. loadingcache < k v > interface:, @ beta @ gwtcompatible offentlig grænseflade loadingcache < k v > udvider cache < k v >, funktion < k v > interface metoder, mr. ingen metode & beskrivelse 1, v anvendelse k centrale), forkastes.forudsat at opfylde den funktion, grænseflade bruger får (k) eller getunchecked (k) i stedet for., 2, concurrentmap < k v > asmap(), tilbage på oplysningerne opbevares i depot, som en rød tråd sikker kort., 3, v ind k centrale), returnerer den værdi, der er forbundet med nøglen i denne samling, for det første at laste værdi, hvis det er nødvendigt., 4, immutablemap < k v > fåralle (iterable <?udvider k > nøgler), returnerer et kort over de værdier, der er forbundet med nøgler, skabe eller henter disse værdier, hvis det er nødvendigt., 5, v getunchecked k centrale), returnerer den værdi, der er forbundet med nøglen i denne samling, for det første at laste værdi, hvis det er nødvendigt. 6, ugyldige genopfriske k centrale), belastninger en ny værdi for centrale, muligvis asynkront med f.eks.,, loadingcache, skabe følgende java - programmet ved hjælp af en redaktør af dit valg i, c /> almindelig guava,.,, guavatester.java, import java.util.hashmap; import java.util.map; import java.util.concurrent.executionexception; import java.util.concurrent.timeunit; import com.google.common.base.moreobjects; import com.google.common.cache.cachebuilder; import com.google.common.cache.cacheloader; import kom c. google. fælles.ache.loadingcache; offentlige klasse guavatester {offentlige statisk tomrum vigtigste (string - args []) (//skabe et depot for ansatte på grundlag af deres medarbejder - id loadingcache < snor, ansat > employeecache = cachebuilder. newbuilder(). maximumsize (100) //højst 100 registre kan være skjult. expireafteraccess (30, timeunit. minutter) //cache udløber efter 30 minutters adgang. bygge (nye cacheloader < snor, ansat > () (//bygge cacheloader @ tilsidesætte offentligt ansat belastning (string empid) gør undtagelse (//den dyre ring tilbage getfromdatabase (empid)}}).prøve (//den første besværgelse, cache er befolket med tilsvarende //ansat registreringssystem. println ("besværgelse"); system. println (employeecache. kom ("100") system. println (employeecache. kom (103)); system. println (employeecache. kom (110)); //anden besværgelse, data vil blive vendt tilbage fra cache - system. println ("besværgelse"); system. println (employeecache. kom ("100") system. println (employeecache. (103)); system. println (employeecache. kom (110));} fangst (executionexception e) (f. printstacktrace();}} menig static ansat getfromdatabase (string - empid) (ansat e1 = nye medarbejder ("mahesh", "økonomi" og "100"); medarbejder e2 = nye medarbejder ("rohan", "det", "103"); medarbejder e3 = nye medarbejder ("sohan", "administration", "110) kort < snor, lønmodtager > database = nye hashmap < snor, ansat > c); database. (" 100 ", e1); database. (" 103 ", e2); database. (" 110 ", e3) system. println (" database ramme for ". empid); tilbage database. kom (empid)}} klasse ansat (string navn; snor afdelingen; snor empld; offentlig ansat (string navn, snor dept., snor empid) (this.name = navn; this.dept = dept. this.empld = empid;} offentlige snor getname() {navn} tilbage.offentlige eller setname (string navn) (this.name = navn} offentlige snor getdept() afdelingen {tilbage;} offentlige tomrum setdept (string afd.) (this.dept = dept.} offentlige snor getempld() {tilbage empld;} offentlige tomrum setempld (string - empld) (this.empld = empld;} @ tilsidesætte offentlige snor tostring() {tilbage moreobjects. tostringhelper (ansat. klasse). der tilsættes ("navn" navn). der tilsættes ("afdeling", afd.). der tilsættes ("emp id", empld). tostring();}}, kontrollere resultatet, udarbejdelse af klasse ved hjælp af, javac, compiler som følger: c: en guava > javac guavatester.java, nu kører det guavatester se resultatet. c: en guava > java guavatester, se resultatet, påkaldelse datab.ase ramte for100 ansat {navn = mahesh, afdeling = finansiering, emp id = 100) database, ramte for103 ansat {navn = rohan, afdeling = den emp id = 103) database, ramte for110 ansat {navn = sohan, afdeling = admin, emp id = 110} påberåbelse lønmodtager {navn = mahesh, afdeling = finansiering, emp id = 100) lønmodtager {navn = rohan, afdeling = den emp id = 103} lønmodtager {navn = sohan, afdeling = admin, emp id = 110).



Previous:
Next Page: