240 发简信
IP属地:湖南
  • 单例模式序列化时注意!

    单例模式类实现Serializable接口后, 在序列化时, getInstance方法变的不可用, 所以单例模式序列化时请为该类添加readR...

  • Timer的schedule和scheduleAtFixedRate区别

    相同点: 1.任务执行未超时, 下次执行时间=上次执行开始时间+period; 2.任务执行超时,下次执行时间=上次执行结束时间; 不同点, 举...

  • lock获取锁的四种方式

    lock.lock();获取锁,如被锁定则等待 lock.tryLock();如未被锁定才获取锁 lock.tryLock(long timeo...

  • hasQueuedThread/hasQueuedThreads/hasWaiters区别

    lock.hasQueuedThread(Thread A);查询线程A是否在等待获取此锁; lock.hasQueuedThreads();查...

  • getHoldCount/getQueueLength/getWaitQueueLength区别

    Lock lock = new ReentrantLock(); Condition cond = lock.newCondition(); l...

  • 公平锁和非公平锁

    公平锁按先来先得、先进先出规则获得锁; 非公平锁是随机获取锁; Lock的子类默认是非公平锁, 可以通过构造函数传boolean参数标识是否为公平锁.

  • ReentrantLock

    lock()获得锁并锁定 Condition cond = lock.newCondition(); cond.await();该方法会释放锁并...

  • InheritableThreadLocal

    该类继承父线程的值,并支持再修改(重写childValue方法)

  • ThreadLocal

    ThreadLocal是为了保证数据的隔离性,每个线程只能取自己存的值。 如果子类重写ThreadLocal的initialValue方法,则该...

个人介绍
坚持每月看2本书,先融汇再贯通!