
analysis
YLIMHHMILY
这个作者很懒,什么都没留下…
展开
-
原理剖析(第 001 篇)Volatile工作原理分析
原理剖析(第 001 篇)Volatile工作原理分析-一、大致介绍1、用过这个关键字的童鞋都知道,都知道这个关键字很强大,主要作用是保证变量在多线程之间的可见性;2、volatile在concurrent包中起着举足轻重的作用,为大量的并发类提供了有力的援助;3、接下来我们从了解CPU缓存开始,然后再深入原理剖析,循序渐进的了解volatile;二、CPU缓存2.1 传输链路CPU(线程)原创 2018-02-14 23:36:46 · 761 阅读 · 0 评论 -
原理剖析(第 012 篇)Netty之无锁队列MpscUnboundedArrayQueue原理分析
原理剖析(第 012 篇)Netty之无锁队列MpscUnboundedArrayQueue原理分析-一、大致介绍1、了解过netty原理的童鞋,其实应该知道工作线程组的每个子线程都维护了一个任务队列;2、细心的童鞋会发现netty的队列是重写了队列的实现方法,覆盖了父类中的LinkedBlockingQueue队列,但是如今却换成了JCTools的一些并发队列,因为JCTools是一款对jdk并原创 2018-03-31 00:42:18 · 3827 阅读 · 0 评论 -
原理剖析(第 011 篇)Netty之服务端启动工作原理分析(下)
原理剖析(第 011 篇)Netty之服务端启动工作原理分析(下)-一、大致介绍1、由于篇幅过长难以发布,所以本章节接着上一节来的,上一章节为【原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)】;2、那么本章节就继续分析Netty的服务端启动,分析Netty的源码版本为:netty-netty-4.1.22.Final;二、三、四章节请看上一章节详见 原理剖析(第 010 篇)N原创 2018-03-25 19:07:45 · 530 阅读 · 0 评论 -
原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)
原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)-一、大致介绍1、Netty这个词,对于熟悉并发的童鞋一点都不陌生,它是一个异步事件驱动型的网络通信框架;2、使用Netty不需要我们关注过多NIO的API操作,简简单单的使用即可,非常方便,开发门槛较低;3、而且Netty也经历了各大著名框架的“摧残”,足以证明其性能高,稳定性高;4、那么本章节就来和大家分享分析一下Netty原创 2018-03-25 19:06:48 · 498 阅读 · 0 评论 -
原理剖析(第 008 篇)CyclicBarrier工作原理分析
原理剖析(第 008 篇)CyclicBarrier工作原理分析-一、大致介绍1、在前面章节了解了CountDownLatch/Semaphore后,想必大家已经对同步器有了一定的了解了;2、而JDK中有一个关于线程之间相互等待的工具类,它是直接由独占锁ReentrantLock实现的,间接的也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的CyclicBarrier的工作原原创 2018-03-13 22:51:30 · 679 阅读 · 0 评论 -
原理剖析(第 007 篇)CountDownLatch工作原理分析
原理剖析(第 007 篇)CountDownLatch工作原理分析-一、大致介绍1、在前面章节了解了CAS、AQS后,想必大家已经对这块知识有了深刻的了解了;2、而JDK中有一个关于计数同步器的工具类,它也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的CountDownLatch的工作原理; 二、简单认识CountDownLatch2.1 何为CountDownLatch?原创 2018-03-12 16:34:36 · 1053 阅读 · 0 评论 -
原理剖析(第 002 篇)synchronized工作原理分析
原理剖析(第 002 篇)synchronized工作原理分析-一、大致介绍1、用过synchronized的童鞋都知道这个关键字是Java中用于解决并发情况下数据的同步访问;2、保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性;3、总的来说,其作用有三个特性:互斥性(确保线程互斥的访问同步代码)、可见性(保证共享变量的修改能够及时可见)、有原创 2018-03-04 22:09:02 · 625 阅读 · 0 评论 -
原理剖析(第 006 篇)Semaphore工作原理分析
原理剖析(第 006 篇)Semaphore工作原理分析-一、大致介绍1、在前面章节了解了CAS、AQS后,想必大家已经对这块知识有了深刻的了解了;2、而JDK中有一个关于信号量的工具类,它也是基于AQS实现的,可以认为是synchronized的升级版(结尾处会讲解到);3、那么本章节就和大家分享分析一下JDK1.8的Semaphore的工作原理; 二、简单认识Semaphore2.1 何为S原创 2018-03-11 23:01:06 · 678 阅读 · 0 评论 -
原理剖析(第 005 篇)AQS工作原理分析
原理剖析(第 005 篇)AQS工作原理分析-一、大致介绍1、前面章节讲解了一下CAS,简单讲就是cmpxchg+lock的原子操作;2、而在谈到并发操作里面,我们不得不谈到AQS,JDK的源码里面好多并发的类都是通过Sync的内部类继承AQS而实现出五花八门的功能;3、本章节就和大家分享分析一下AQS的工作原理; 二、简单认识AQS2.1 何为AQS?1、AQS是一个抽象类,类名为Abstra原创 2018-03-11 23:00:08 · 561 阅读 · 0 评论 -
原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析
原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析-一、大致介绍1、在前面章节了解了AQS和Semaphore后,想必大家已经对获取独占锁、获取共享锁有了一定的了解了;2、而JDK中有一个关于读锁写锁分离的工具类,读锁是共享锁,写锁是排他锁,也是基于AQS实现的;3、那么本章节就和大家分享分析一下JDK1.8的ReentrantReadWriteLock的工作原理原创 2018-03-14 23:39:08 · 470 阅读 · 0 评论 -
原理剖析(第 004 篇)CAS工作原理分析
原理剖析(第 004 篇)CAS工作原理分析-一、大致介绍1、关于多线程竞争锁方面,大家都知道有个CAS和AQS,也正是这两个东西才引申出了大量的线程安全类,锁类等功能;2、而随着现在的硬件厂商越来越高级,在硬件层面提供大量并发原语给我们Java层面的开发带来了莫大的利好;3、本章节就和大家分享分析一下CAS的工作原理;二、原理分析2.1 何为CAS?1、CAS,compare and swap原创 2018-03-08 12:42:58 · 587 阅读 · 0 评论 -
原理剖析(第 003 篇)ThreadPoolExecutor工作原理分析
原理剖析(第 003 篇)ThreadPoolExecutor工作原理分析-一、大致介绍1、相信大家都用过线程池,对该类ThreadPoolExecutor应该一点都不陌生了;2、我们之所以要用到线程池,线程池主要用来解决线程生命周期开销问题和资源不足问题;3、我们通过对多个任务重用线程以及控制线程池的数目可以有效防止资源不足的情况;4、本章节就着重和大家分享分析一下JDK8的ThreadPo原创 2018-03-07 22:11:15 · 457 阅读 · 0 评论 -
原理剖析(第 013 篇)应用系统性能调优
原理剖析(第 013 篇)应用系统性能调优-一、大致介绍1. 本人接手的一个打车系统,因为出现了一次响应十分缓慢的情况,因此才有了应用调优的篇章;2、由于过程中可能没有阐述的太清楚,如想详细了解可以留言之类的,希望其中的点点滴滴对大家有所帮助;二、调优背景 在某一个月黑风高的夜晚,21点多以后,许许多多的小伙伴都相继下班了,然后大家开始习惯性的掏出自己心...原创 2018-09-15 16:50:57 · 677 阅读 · 0 评论