File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change 1+ package learnCollections ;
2+
3+ import java .util .Map ;
4+ import java .util .WeakHashMap ;
5+
6+ public class WeakHashMapDemo {
7+ public static void main (String [] args ) {
8+ WeakHashMap <String , Image > imageCache = new WeakHashMap <>();
9+ loadCache (imageCache );
10+ System .out .println (imageCache ); // {img1=Image 1, img2=Image 2}
11+
12+ System .gc ();
13+ simulateApplicationRunning ();
14+ System .out .println ("Cache after running (some entries may be cleared): " + imageCache ); // {}
15+ }
16+
17+ public static void loadCache (Map <String , Image > imageCache ) {
18+ String k1 = new String ("img1" );
19+ String k2 = new String ("img2" );
20+ imageCache .put (k1 , new Image ("Image 1" ));
21+ imageCache .put (k2 , new Image ("Image 2" ));
22+ }
23+
24+ private static void simulateApplicationRunning () {
25+ try {
26+ System .out .println ("Simulating application running..." );
27+ Thread .sleep (10000 );
28+ } catch (InterruptedException e ) {
29+ e .printStackTrace ();
30+ }
31+ }
32+ }
33+
34+ class Image {
35+ private String name ;
36+
37+ public Image (String name ) {
38+ this .name = name ;
39+ }
40+
41+ @ Override
42+ public String toString () {
43+ return name ;
44+ }
45+ }
You can’t perform that action at this time.
0 commit comments