2018年1月9日
摘要: 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上b:与w相反e: 光标以单词向前移动 ne:光标向前移动n个单 阅读全文
posted @ 2018-01-09 20:40 一个帅哥9527 阅读(176) 评论(0) 推荐(0) 编辑
  2017年12月27日
摘要: 并行流水线:利用每一个流水线都有一个LickedBlockingQueue参数,将结果传递给下一个流水线 1、this.bq.take();2、经过计算;3、next.bq.add("中介");bq=每个流水线(实体类)的LickedVlockingQueue 并行搜索:利用1、数组分段,Atomi 阅读全文
posted @ 2017-12-27 15:42 一个帅哥9527 阅读(230) 评论(0) 推荐(0) 编辑
摘要: RealDataJDK类: Application 阅读全文
posted @ 2017-12-27 13:34 一个帅哥9527 阅读(433) 评论(0) 推荐(0) 编辑
  2017年12月25日
摘要: 、什么是 Disruptor 从功能上来看,Disruptor 是实现了“队列”的功能,而且是一个有界队列。那么它的应用场景自然就是“生产者-消费者”模型的应用场合了。 可以拿 JDK 的 BlockingQueue 做一个简单对比,以便更好地认识 Disruptor 是什么。 我们知道 Block 阅读全文
posted @ 2017-12-25 11:29 一个帅哥9527 阅读(268) 评论(0) 推荐(0) 编辑
  2017年12月12日
摘要: Java中的指针:Unsafe类 无锁的对象引用:AtomicReference 带有时间戳的对象引用:AtomicStampedReference 数组也能无锁:AtomicIntegerArray 让普通的变量也享受CAS操作带来的线程安全性 AtomicIntegerFieldUpdater 阅读全文
posted @ 2017-12-12 15:50 一个帅哥9527 阅读(127) 评论(0) 推荐(0) 编辑
  2017年12月11日
摘要: 下图是JVM内存分布图 1.线程计数器,是一块较小的内存空间,用来指定当前线程执行字节码的行数,每个线程计数器都是私有的,因为每个线程都需要记录执行的行数;这里解释一下为什么每个线程都需要一个线程计数器,JVM的多线程是通过线程轮流切换分配执行时间来实现的,在任何时刻,每个处理器都只会执行一个线程中 阅读全文
posted @ 2017-12-11 14:30 一个帅哥9527 阅读(356) 评论(0) 推荐(0) 编辑
摘要: Java对象头(不用记内容,只需要知道,对象头里面,会保存一些信息) 锁存在Java对象头里。如果对象是数组类型,则虚拟机用3个Word(字宽)存储对象头,如果对象是非数组类型,则用2字宽存储对象头。在32位虚拟机中,一字宽等于四字节,即32bit。(下面这个表格讲的很清楚) 长度 内容 说明 32 阅读全文
posted @ 2017-12-11 11:45 一个帅哥9527 阅读(264) 评论(1) 推荐(1) 编辑
  2017年12月8日
摘要: 1、减少锁持有时间:(根据有效的条件去减少锁住的代码) 2、减少锁的颗粒度(将大面积分成小面积) ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment是一种可重入锁ReentrantLock,在ConcurrentHashMap里扮演锁的角色, 阅读全文
posted @ 2017-12-08 18:12 一个帅哥9527 阅读(284) 评论(0) 推荐(0) 编辑
摘要: // 注意:不同的颜色,表示不同的逻辑,前面的数字,是他们各自的逻辑顺序, //这个方法没有任何的锁操作,线程安全完全是由cas操作和队列的算法来保证的,整个方法的核心是for循环,这个循环没有出口,知道尝试成功 public boolean offer(E e) { checkNotNull(e) 阅读全文
posted @ 2017-12-08 14:55 一个帅哥9527 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap: 一个高并发的HashMap CopyOnWriteArrayList : 这是一个list和ArrayList是 一族,在读多写少的场合,这个list性能非常好 (当写入当时候,先对数组进行了次复制,Arrays.copyof(oldArr,len+1),然后s 阅读全文
posted @ 2017-12-08 13:44 一个帅哥9527 阅读(324) 评论(0) 推荐(0) 编辑