摘要:
List<String> listString = Arrays.asList("1L","2L","3L"); 如果定义子类时,传给父类的是子类的泛型形参,则子类的泛型形参的上限必须和父类的相容。相容是指,子类泛型形参的上限要么和父类的相同,要么是父类上限的子类。 阅读全文
摘要:
1. 是什么 mybatis就是对JDBC的封装。主要目的是简化JDBC开发流程,实现事务松耦合管理 2. 官网地址 https://github.com/mybatis/mybatis-3 3. mybatis工作流程 阅读全文
摘要:
maven已导入lombok的jar包,注解@Data,但是用到getter,setter时依然出错。解决办法: 打开eclipse.ini文件,加上如下两句: -Xbootclaspath//Users/yintingting/.m2/repository/org/projectlombok/lo 阅读全文
摘要:
我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如 互联网数据、邮件,word文档等。非结构化数据又称全文数据 对非结构化数据也即全文数据的搜索主要有两种方法:顺序扫描法和反向索引法 阅读全文
摘要:
ConcurrentHashMap是J.U.C包里面提供的一个线程安全并且高效的HashMap,所以ConcurrentHashMap在并发编程的场景中使用的频率比较高,那么这一节课我们就从ConcurrentHashMap的使用上以及源码层面来分析ConcurrentHashMap到底是如何实现安 阅读全文
摘要:
CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续工作。CyclicBarrier默认的构造方法是CyclicBarrier 阅读全文
摘要:
semaphore也就是我们常说的信号灯,semaphore可以控制同时访问的线程个数,通过acquire获取一个许可,如果没有就等待,通过release释放一个许可。有点类似限流的作用。叫信号灯的原因也和他的用处有关,比如某商场就5个停车位,每个停车位只能停一辆车,如果这个时候来了10辆车,必须要 阅读全文
摘要:
countdownlatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完毕再执行。从命名可以解读到countdown是倒数的意思,类似于我们倒计时的概念。 countdownlatch提供了两个方法,一个是countDown,一个是await,countdownlatch 阅读全文
摘要:
Condition是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒 condition中两个最重要的方法,一个是await,一个是signal方法 await:把当前线程阻塞挂起 signal:唤醒阻塞的线程 示例: 线程awaitT 阅读全文
摘要:
J.U.C简介 Java.util.concurrent是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。 Lock Lock在J.U.C中是最核心的组件,前面我们讲synchronized的时候说过,锁最重要的特性就是解决并 阅读全文