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

    xiaoxiao2021-03-25  36

    ------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

    转载请注明原文地址: https://ju.6miu.com/read-300034.html

    最新回复(0)