240 发简信
IP属地:湖北
  • 关于JPA中动态查询的做法

    原文出处: 【一目了然】Spring Data JPA使用Specification动态构建多表查询、复杂查询及排序示例 最近的一个需求是带条件...

  • 分布式环境下,怎么保证线程安全

    转载来源:探索并发编程(七)------分布式环境中并发问题 避免并发 在分布式环境中,如果存在并发问题,那么很难通过技术去解决,或者解决的代价...

  • ThreadPoolExecutor的内部工作原理

    一、初始化一个线程池 基于ThreadPoolExecutor类初始化一个指定线程数的线程池线程池 二、提交任务 有两种提交任务的方式:Exec...

  • 创建线程池的4种方式

    newSingleThreadExecutor 创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如果这...

  • 什么是ThreadLocal

    ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。 实现原理 ThreadLoca...

  • 介绍下CAS(无锁技术)

    CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术,CAS是通过unsafe类的compareAndSwa...

  • synchronized、Lock、ReentrantLock、ReadWriteLock

    synchronized: 是JVM实现的一种锁, 用于同步方法和代码块,执行完后自动释放锁。其中锁的获取和释放分别是monitorenter和...

  • wait方法和sleep方法的区别

    wait方法来自Object类sleep方法来自Thread类 wait方法释放了锁sleep方法没有释放锁 wait方法只能在同步控制方法或者...

  • Runnable接口和Callable接口的区别

    Runnable需要实现run()方法Callable需要实现call()方法 Runnable不能抛出checked exceptionCal...