
Java
fll980205
这个作者很懒,什么都没留下…
展开
-
CountDownLatch、CyclicBarrier、Semaphore
1、CountDownLatch:CountDownLatch只能使用一次;countDown():计数器的值依次减1;实现减法计数器:public class CountDownLatchTest { public static void main(String[] args) { /*优先执行,执行完毕之后,才能执行 main*/ /*1、实例化...原创 2020-03-24 16:30:25 · 235 阅读 · 0 评论 -
Forkjoin框架
Forkjoin是JDK1.7提供的多线程并发处理框架,本质上是对线程池的一种补充;它的核心思想就是将一个大型任务拆分成很多个小任务,分别执行,最后再将小任务的结果进行汇总本质就是:一个线程任务拆分成多个线程并发执行工作窃取:A、B两个线程同时执行,A的任务比较多,B先执行完了,此时B将A的一部分拿过来,替A执行,从而提升效率;Forkjoin框架的使用需要用到两个类:F...原创 2020-03-23 18:18:42 · 270 阅读 · 0 评论 -
生产者消费者模型
生产者消费者模型:有一个容器来盛放商品,左边有生产者生产该商品,并将生产的商品放入该容器中;右边有消费者,从容器中拿走商品;容器中商品的个数不可能为负数;当容器中没有商品时,消费者无法消费;当容器中满的时候,生产者不能再生产商品了;下面来实现该现象:(1)使用synchronized的方式/* * 生产者消费者模型 * synchronized、wait/notify的方式 * *...原创 2020-03-23 18:17:54 · 226 阅读 · 0 评论 -
synchronized使用
synsynchronized的使用方法:1、synchronized修饰方法(1)synchronized修饰非静态方法: 锁的是方法的调用者import java.util.concurrent.TimeUnit;class Data { /*synchronized修饰非静态方法,锁的是即方法的调用者,即 调用func1方法的对象*/ public s...原创 2020-03-23 17:22:19 · 236 阅读 · 0 评论 -
Redis
Redis是一个全开源免费的,用C语言编写的,是一个单线程、高性能的内存数据库,是基于内存运行并支持持久化的nosql数据库,是一个key-value数据库;Redis主要是用来做缓存,但不仅仅只能做缓存,比如:redis实现分布式锁、队列、回话缓存;Redis:**(1)**支持持久化,有RDB持久化和AOF持久化两种方式;持久化就是将内存中的数据写入到硬盘中;而如果Redis突然出错罢...原创 2019-11-11 16:40:37 · 163 阅读 · 1 评论 -
SpringMVC的部分注解
@Controller:标识Spring MVC Controller处理器,用来创建处理HTTP请求的对象;@RequestMapping:@RequestMapping相关参数1.value:指定url请求的实际地址,是@RequestMapping的默认值@RequestMapping(“hello”)等同于 @RequestMapping(value=“hello”)2.met...原创 2019-11-10 14:59:59 · 98 阅读 · 0 评论 -
SpringMVC的执行流程
SpringMVC原创 2019-11-10 13:54:15 · 118 阅读 · 0 评论 -
ConcurrentHashMap的读操作不需要加锁
public V get(Object key) { Node<K,V>[] tab; Node<K,V> e, p; int n, eh; K ek; int h = spread(key.hashCode()); if ((tab = table) != null && (n = tab.length) &...原创 2019-11-08 11:57:48 · 1958 阅读 · 0 评论