首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
tizzybepeacejoy
掘友等级
java
|
同程旅行
可爱又迷人的反派角色
获得徽章 6
动态
文章
专栏
沸点
收藏集
关注
作品
赞
238
文章 225
沸点 13
赞
238
返回
|
搜索文章
最新
热门
Redis缓存架构详解
一般开发中我们都会使用 Redis 作缓存,提高查询效率,但 Redis 缓存在使用时还会有很多问题,如,缓存穿透,击穿,雪崩等。 一般对于不同的业务我们使用不同的缓存结构。1、对于并发几率很小的数据(如个人维度的订单数据、用户数据等),这种几乎不用考虑这个问题,很少会发生 缓存...
深入理解Redis分布式锁
传统单体开发,以及集群开发都是 Jvm 进程内的锁如lock锁,synchronized锁,再比如cas原子类轻量级锁 一旦夸 Jvm 进程以及跨机器,这种锁就不适合业务场景,会存在问题。对此需要一个分布式锁,唯一一把锁,所有服务都只有这一把锁。分布式锁都有哪些实现方式,这里我们...
深入理解CyclicBarrie
运动员t1 t2 线程以及裁判main线程一起准备好了 才能比赛。Thread.System.out.cyclicBarrier.System.out.e.},"t1").Thread.System.out.cyclicBarrier.System.out.e.},"t2" )....
深入理解CountDownLatch计数器
System.out.IntStream.rangeClosed(1, 6).Thread.e.System.out.println(" 线程开始 ----- " + Thread.currentThread().countDown.}, x + "").countDown.//...
深入理解AQS
AQS 指的是 Java中对管程模型的一种抽象实现,和synchronized一样都是对管程模型的实现。 只不过在我们 Java 中为了补充 synchronized锁的缺陷,提供了Lock锁,而 AQS 是对这个锁的一个抽象,将线程的一个竞争,加锁解锁,都和不同的锁子类抽象出来...
并发编程之深入理解CAS与Atomic原子操作类
CAS,compare and swap的缩写,中文翻译成比较并交换。CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。在并发中,我们需要对一个数据进...
深入理解并发三大特性
当一个线程修改了共享变量的值,其他线程能够看到修改的值。Java 内存模型是通过在变量 修改后将新值同步回主内存,在变量读取前从主内存刷新变量值这种依赖主内存作为传递媒介 的方法来实现可见性的。通过 volatile 关键字保证可见性。通过 内存屏障保证可见性。通过 synchr...
Future 用法详解
常见的两种创建线程的方式。一种是直接继承Thread,另外一种就是实现Runnable接口。这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。Future模...
ExecutorCompletionService使用详解
jdk8提供的 CompletionService 接口,实现类 ExecutorCompletionService。我们先来看一个例子? 很明显下面任务批量提交线程池,等待线程池运行,每个任务执行时间不同。ExecutorService executorService = Ex...
CompletableFuture用法详解
我们通常在使用Future接口异步编程时,获取结果都需要阻塞获取。主线程中会阻塞,其实最好的结果是让它执行完结果后通知我们获取。还有一种情况,当我们需要多个异步结果嵌套时候,Future这个接口就就不能满足我们的实用场景了,可能需要我们手动在里面进行嵌套。对此,从JDK 8开始,...
下一页
个人成就
文章被点赞
207
文章被阅读
156,085
掘力值
2,752
关注了
24
关注者
102
收藏集
27
关注标签
32
加入于
2018-09-25