geekgao
-
【每日阅读】2021年1月12日-数据库拆分有什么方法?
当数据库压力过大时,一遍需要开发人员对数据库进行拆分来使用,笼统的来说有两种拆分方式 纵向拆分 这种方式就是将不同的表拆分进不同的库。 横向拆分 即将同一张表的数据根据一个规则拆分…
-
【每日阅读】2021年01月10日-TCP分手最后提出分手的一方为什么要等待2MSL
MSL即Maximum Segment Lifetime,报文最大生存时间。 提出分手的一方A在收到另一方B发送的“断开连接”请求后,返回ACK说“我知道你也要断开连接了”这个意思…
-
【每日阅读】2021年01月09日-TCP连接为什么是3次
如果是2次 A申请连接B,B说可以。那么B此时其实是不能确认自己已经和A连接成功了的,因为A很可能没有收到它说的可以,所以两次是肯定不行的,B必须收到一次确定的A的回复才说明连接应…
-
【每日阅读】2021年1月8日-并发设计模式Thread-Per-Message、Worker Thread
Thread-Per-Message 就是每个任务创建一个线程,这种模式在Java内不常用,因为Java的线程比较重,但是在Go这种语言中就很常用,因为Go使用的是协程,比较轻量,…
-
【每日阅读】2021年01月07日-ThreadLocal的实现
一般理解可能说在ThreadLocal内存储一个Map,Map的key是Thread,value是对象,但其实不是这样。 实际上是这样,在Thread内部有一个ThreadLoca…
-
【每日阅读】2021年1月6日-并发设计模式:Immutability模式、CopyOnWrite模式
Immutability模式 不变模式,以不变应万变。我不变那随便并发,不变意味着只能读不能写。这种模式很简单,却很有用。 CopyOnWrite模式 即写时复制。 这种模式适合那…
-
【每日阅读】2021年1月5日-在看Java并发编程实战
《Java并发编程实战》是极客时间上的一门课程,最近在看,今天看完了并发工具类的使用介绍。 在看的过程中却是发现很多以前不知道的但是Java原生自带的并发类,因为现在的业务需求根本…
-
【每日阅读】2020年12月28日-获取线程执行结果
Future有如下方法: 还有FutureTask:
-
【每日阅读】2020年12月27日-CountDownLatch和CyclicBarrier
CountDownLatch 例如主线程要等待2个子线程执行完任务后再执行,那就可以创建一个初始值为2的CountDownLatch,在主线程执行等待方法await()就会等待Co…
-
【每日阅读】2020年12月24日-信号量
信号量是在管程发明之前15年被发明出来的东西。信号量用于解决在控制数量的情况下发文同一资源。 例如最多允许5个线程获取一个资源,则在初始化时将信号量初始为5,当多一个线程使用资源时…