
Java架构
小飞侠v科比
专注IT全栈技术
展开
-
Disruptor并发框架
Disruptor并发框架什么是DisruptorMartin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使`用事件源驱动方式。业务逻辑处理器的核心是Disruptor。...原创 2020-04-03 22:35:27 · 679 阅读 · 0 评论 -
Java线程池原理分析
并发包(计数器)CountDownLatchCountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数...原创 2020-02-22 23:08:36 · 864 阅读 · 0 评论 -
Java 多线程之间实现通讯
多线程之间如何实现通讯什么是多线程之间通讯?多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。画图演示多线程之间通讯需求需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。代码实现基本实现共享资源源实体类class Res { public String userSex; public String userNa...原创 2020-02-22 23:00:17 · 514 阅读 · 0 评论 -
Java内存模型 Volatile与Synchronized
共享内存模型指的就是Java内存模型(简称JMM),JMM决定一个线程对共享变量的写入时,能对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该线程以读/写共享变量的副本。本地内存是JMM的一个抽象概念,并不真实存在。它涵盖了缓存,写缓冲...原创 2020-02-22 22:42:16 · 264 阅读 · 0 评论 -
Java Threadlocal介绍
什么是ThreadlocalThreadLocal提高一个线程的局部变量,访问某个线程拥有自己局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。ThreadLocal的接口方法ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:• vo...原创 2020-02-22 22:36:29 · 315 阅读 · 0 评论 -
JAVA并发编程之多线程线程安全
什么是线程安全?为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:public class ThreadTrain implements Runnable { private int tr...原创 2020-02-22 22:10:08 · 200 阅读 · 0 评论