摘要:
& 与运算符 与运算符用符号“&”表示,其使用规律如下: 两个操作数中位都为1,结果才为1,否则结果为0 public class Data{ public static void main(String[] args){ int a=129; int b=128; System.out.print 阅读全文
摘要:
ConcurrentHashMap 在累加键值对个数的 addCount 函数中,使用 ThreadLocalRandom.getProbe() 得到线程的探针哈希值。 在这里,这个探针哈希值的作用是哈希线程,将线程和数组中的不用元素对应起来,尽量避免线程争用同一数组元素。探针哈希值和 map 里使 阅读全文
摘要:
public static void main(String[] args) { System.out.println(Integer.toBinaryString(-16)); System.out.println(Integer.toBinaryString(-16>>2)); System.o 阅读全文
摘要:
CountDownLatch CountDownLatch是一个同步工具类,它允许一个或者多个线程一直等待,知道其他线程的操作执行完毕再执行。 CountDownLatch提供了两个方法,一个是countDown,一个是await,countDownLatch初始化的时候需要传入一个整数,在这个整数 阅读全文
摘要:
StampedLock的优势 ReentrantLock 未能读写分离实现,虽然ReentrantReadWriteLock能够读写分离了,但是对于其写锁想要获取的话,就必须没有任何其他读写锁存在才可以,这实现了悲观读取。而且如果读操作很多,写很少的情况下,线程有可能遭遇饥饿问题。 饥饿问题:Ree 阅读全文
摘要:
线程隔离机制。 ThreadLocal实际是一种线程隔离机制,也是为了保证在多线程环境下对于共享变量的访问安全性。 static ThreadLocal<Integer> local = new ThreadLocal<Integer>() { protected Integer initialVa 阅读全文
摘要:
import lombok.Data; import org.apache.commons.lang.StringUtils; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; import o 阅读全文
摘要:
业务功能: 把一个表按照月份分为12个,命名user_01、user_02、....user_12。 Mapper.xml中只配置一个SQL: select * from user where age = #{age} 输入当前月份查询的时候,自动把逻辑表名改成对应的月份表。例如输入202005,此 阅读全文
摘要:
插件编写要求(分页插件PageHelper) 自定义插件需要做到三点 1)实现Interceptor接口 public class PageInterceptor implements Interceptor{} 2)实现对应的方法。最关键的是intercept()方法里面是拦截的逻辑,需要增强的代 阅读全文
摘要:
简介 代理模式是指为其他对象提供一种代理,以控制对这个对象的访问,属于结构性模式。在某些情况下,一个对象不适合或者和不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。 代理模式通用UML类图: 代理模式一般包含三种角色: 抽象主题角色(ISubject):抽象主题类的主要职责 阅读全文