4.7---linux修改系统时间---集合线程安全---guava cache

------linux修改系统时间

         系统启动时 linux系统时间从CMOS中读到系统时间变量中,linux每隔一段时间会将系统时间写到CMOS中,大约11min 如果修改了系统时间(date -s)后马上重起机器,修改时间可能没有写入到CMOS中,hwclock –w 可以强制将系统时间写入到CMOS

 

         #date -R

        格式化查看日期

         #date–s 06/10/96

         将系统时间设定为1996年6月10日

         #date–s 13:12:00

         将系统时间设定为下午1点12分0秒

         #date

         查看系统时钟

         #hwclock–show 或#clock –show

         查看硬件时钟

         #hwclock–set –date=”09/17/2003 13:26:00”或#clock –set –date =”09/17/2003 13:26:00”

         修改硬件时钟

         #hwclock–hctosys 或  #clock --hctosys

         同步硬件时钟到系统时钟

         #hwclock–systohc  或  #clock --systohc

         同步系统时钟到硬件时钟

Form   http://www.cnblogs.com/wayne173/p/3747337.html

 

--------线程安全问题(list,set,map)

         List本身不是线程安全的,但如果要使用线程安全的List则可以用Collections这个工具类Collections.synchronizedList(list) 这个方法可以返回一个线程安全的List,但这只适用于原子操作,如果是非原子性的操作如:

if(!queue.isEmpty()){  

         queue.poll(obj);  

     } 

我们很难保证,在调用了isEmpty()之后,poll()之前,这个queue没有被其他线程修改。

所以对于这种情况,我们还是需要自己同步:

    synchronized(queue) {  

        if(!queue.isEmpty()) {  

           queue.poll(obj);  

         } 

     }  

From  http://huffmans.iteye.com/blog/1774752


-------guava cache

         Guavacache 与 concurrentMap的区别:concurentMap会一直保存添加的数据,直到显式移除,guava cache为了限制内存通常设为自动回收,并且它是可以自动加载缓存。

         创建方式:

                   通过cacheLoader和callable两种方式创建cache,与通常的map不同的是,从cache中取key的值,如果缓存中有直接返回,如果没有通过某个方法获取。

详细代码From   http://www.cnblogs.com/parryyang/p/5777019.html

         Cache加监听时间,移除操作

         //todo

From  http://www.cnblogs.com/peida/p/Guava_Cache.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值