Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9dd8b6f

Browse files
authored
Merge pull request#48 from StubbornJava/suppliers
Added Suppliers.memoize examples
2 parents7b5a2c9 +5f6dc5d commit9dd8b6f

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

‎gradle/dependencies.gradle‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ext {
77
logback :'1.1.8',// Logging
88
undertow :'1.4.18.Final',// Webserver
99
metrics :'3.1.2',// Metrics
10-
guava :'22.0',// Common / Helper libraries
10+
guava :'23.0',// Common / Helper libraries
1111
typesafeConfig :'1.3.1',// Configuration
1212
handlebars :'4.0.6',// HTML templating
1313
htmlCompressor :'1.4',// HTML compression
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
packagecom.stubbornjava.examples.common;
2+
3+
importjava.util.concurrent.TimeUnit;
4+
importjava.util.function.Supplier;
5+
6+
importorg.slf4j.Logger;
7+
importorg.slf4j.LoggerFactory;
8+
9+
importcom.google.common.base.Suppliers;
10+
11+
publicclassSuppliersExamples {
12+
privatestaticfinalLoggerlog =LoggerFactory.getLogger(SuppliersExamples.class);
13+
14+
// {{start:supplier}}
15+
publicstaticStringhelloWorldSupplier() {
16+
log.info("supplying");
17+
return"hello world";
18+
}
19+
// {{end:supplier}}
20+
21+
publicstaticvoidmain(String[]args)throwsInterruptedException {
22+
// {{start:memoize}}
23+
log.info("Memoized");
24+
Supplier<String>memoized =Suppliers.memoize(SuppliersExamples::helloWorldSupplier);
25+
log.info(memoized.get());
26+
log.info(memoized.get());
27+
// {{end:memoize}}
28+
29+
// {{start:memoizeWithExpiration}}
30+
log.info("Memoized with Expiration");
31+
Supplier<String>memoizedExpiring =Suppliers.memoizeWithExpiration(
32+
SuppliersExamples::helloWorldSupplier,50,TimeUnit.MILLISECONDS);
33+
log.info(memoizedExpiring.get());
34+
log.info(memoizedExpiring.get());
35+
log.info("sleeping");
36+
TimeUnit.MILLISECONDS.sleep(100);
37+
log.info(memoizedExpiring.get());
38+
log.info(memoizedExpiring.get());
39+
log.info("sleeping");
40+
TimeUnit.MILLISECONDS.sleep(100);
41+
log.info(memoizedExpiring.get());
42+
log.info(memoizedExpiring.get());
43+
// {{end:memoizeWithExpiration}}
44+
}
45+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp