package Ġorg . map db ĊĊ Ċ import Ġorg . junit . Test Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠHT ree Map _ Expiration _ Mult ith readed Ġ{ ĊĊĠĠĠ Ġinternal Ġval Ġduration Ġ= Ġ 1 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 . to Long () ĊĠĠĠ Ġinternal Ġvar Ġb Ġ= ĠByteArray ( 1 0 0 ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġexpire UUID () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( TT . short Test ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval ĠendTime Ġ= Ġduration Ġ+ ĠSystem . currentTimeMillis () ĊĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠDB Maker . memory DB (). make () ĊĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġdb . hash Map (" aa ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. key Serializer ( Serializer . UUID ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. value Serializer ( Serializer . BYTE _ ARRAY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expire After Create ( 2 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expire Executor ( TT . executor ( 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠ ĠTT . fork ( 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġr Ġ= ĠRandom ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 2 e 5 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġu Ġ= ĠUUID ( r . next Long (), Ġr . next Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . put ( u , Ġb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( System . currentTimeMillis () Ġ< ĠendTime ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġr Ġ= ĠRandom ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 1 e 5 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġu Ġ= ĠUUID ( r . next Long (), Ġr . next Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . get ( u ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm . put ( u , Ġb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 1 e 5 . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġ 2 e 5 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġu Ġ= ĠUUID ( r . next Long (), Ġr . next Long ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm [ u ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġexpiration _ with _ size (){ ĊĠĠĠĠĠĠĠ Ġif ( TT . short Test ()) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠDB Maker . memory DB (). make () ĊĠĠĠĠĠĠĠ Ġval Ġm Ġ= Ġdb ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. hash Map (" map ", ĠSerializer . JAVA , ĠSerializer . JAVA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expire After Create ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expire Executor ( TT . executor ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. expire Executor Period ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. layout ( 1 , 4 , 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Or Open () ĊĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 1 e 7 . toInt ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm . put (" l ondon "+ i , Ġ" aa ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif ( i % 1 0 0 0 0 == 0 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIter ators . size ( m . iterator ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ