彤哥读源码

欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章,与彤哥一起畅游源码的海洋。...

如何使用Netty打造工业级RPC框架

使用Netty构造工业级RPC框架

2019-01-21 10:42:59

阅读数 67

评论数 0

死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以翻译为倒计时器,但是似乎不太准确,它的含...

2019-06-16 23:35:47

阅读数 4

评论数 0

死磕 java同步系列之Semaphore源码解析

问题 (1)Semaphore是什么? (2)Semaphore具有哪些特性? (3)Semaphore通常使用在什么场景中? (4)Semaphore的许可次数是否可以动态增减? (5)Semaphore如何实现限流? 简介 Semaphore,信号量,它保存了一系列的许可(permits),每...

2019-06-16 11:06:39

阅读数 22

评论数 0

死磕 java同步系列之ReentrantReadWriteLock源码解析

问题 (1)读写锁是什么? (2)读写锁具有哪些特性? (3)ReentrantReadWriteLock是怎么实现读写锁的? (4)如何使用ReentrantReadWriteLock实现高效安全的TreeMap? 简介 读写锁是一种特殊的锁,它把对共享资源的访问分为读访问和写访问,多个线程可以...

2019-06-13 21:44:56

阅读数 15

评论数 0

死磕 java同步系列之ReentrantLock VS synchronized——结果可能跟你想的不一样

问题 (1)ReentrantLock有哪些优点? (2)ReentrantLock有哪些缺点? (3)ReentrantLock是否可以完全替代synchronized? 简介 synchronized是Java原生提供的用于在多线程环境中保证同步的关键字,底层是通过修改对象头中的MarkWor...

2019-06-11 08:19:19

阅读数 14

评论数 0

死磕 java同步系列之ReentrantLock源码解析(二)——条件锁

问题 (1)条件锁是什么? (2)条件锁适用于什么场景? (3)条件锁的await()是在其它线程signal()的时候唤醒的吗? 简介 条件锁,是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。 比如,在阻塞队列中,当队列中没有元素的时候是无法弹...

2019-06-03 00:19:26

阅读数 18

评论数 0

死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁

问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 Reentrant = Re + entrant,Re是重复、又、再的意思,entrant是ent...

2019-06-02 00:48:40

阅读数 25

评论数 0

死磕 java同步系列之AQS起篇

问题 (1)AQS是什么? (2)AQS的定位? (3)AQS的实现原理? (4)基于AQS实现自己的锁? 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为Java中几乎所有的锁和同步器提供一个基础框架。 AQS是基于FIFO的队列实现的,并且内部维护了一个状...

2019-05-26 21:53:34

阅读数 34

评论数 0

死磕 java同步系列之自己动手写一个锁Lock

问题 (1)自己动手写一个锁需要哪些知识? (2)自己动手写一个锁到底有多简单? (3)自己能不能写出来一个完美的锁? 简介 本篇文章的目标一是自己动手写一个锁,这个锁的功能很简单,能进行正常的加锁、解锁操作。 本篇文章的目标二是通过自己动手写一个锁,能更好地理解后面章节将要学习的AQS及各种同步...

2019-05-23 22:48:13

阅读数 34

评论数 0

死磕 java同步系列之synchronized解析

问题 (1)synchronized的特性? (2)synchronized的实现原理? (3)synchronized是否可重入? (4)synchronized是否是公平锁? (5)synchronized的优化? (6)synchronized的五种使用方式? 简介 synchronized...

2019-05-21 08:00:29

阅读数 50

评论数 0

死磕 java同步系列之volatile解析

问题 (1)volatile是如何保证可见性的? (2)volatile是如何禁止重排序的? (3)volatile的实现原理? (4)volatile的缺陷? 简介 volatile可以说是Java虚拟机提供的最轻量级的同步机制了,但是它并不容易被正确地理解,以至于很多人不习惯使用它,遇到多线程...

2019-05-19 23:19:11

阅读数 45

评论数 0

死磕 java同步系列之JMM(Java Memory Model)

简介 Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果。 硬件内存模型 在正式讲解Java的内存模型之前,我们有必要先了解一下硬件层面的一些东西。 在现代计算机的硬件体系中,CPU的运算速度是非常...

2019-05-18 01:45:26

阅读数 62

评论数 0

死磕 java同步系列之开篇

2019-05-14 21:56:59

阅读数 49

评论数 0

死磕 java原子类之终结篇(面试题)

概览 原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换。 原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分,将整个操作视作一个整体是原子性的核心特征。 在java中提供了很多原子类,笔...

2019-05-13 23:35:12

阅读数 33

评论数 0

死磕 java并发包之LongAdder源码分析

问题 (1)java8中为什么要新增LongAdder? (2)LongAdder的实现方式? (3)LongAdder与AtomicLong的对比? 简介 LongAdder是java8中新增的原子类,在多线程环境中,它比AtomicLong性能要高出不少,特别是写多的场景。 它是怎么实现的呢?...

2019-05-13 00:04:50

阅读数 26

评论数 0

杂谈 什么是伪共享(false sharing)?

问题 (1)什么是 CPU 缓存行? (2)什么是内存屏障? (3)什么是伪共享? (4)如何避免伪共享? CPU缓存架构 CPU 是计算机的心脏,所有运算和程序最终都要由它来执行。 主内存(RAM)是数据存放的地方,CPU 和主内存之间有好几级缓存,因为即使直接访问主内存也是非常慢的。 如果对一...

2019-05-11 11:45:51

阅读数 33

评论数 0

死磕 java并发包之AtomicStampedReference源码分析(ABA问题详解)

问题 (1)什么是ABA? (2)ABA的危害? (3)ABA的解决方法? (4)AtomicStampedReference是什么? (5)AtomicStampedReference是怎么解决ABA的? 简介 AtomicStampedReference是java并发包下提供的一个原子类,它能...

2019-05-09 21:33:17

阅读数 25

评论数 0

杂谈 论实例化类的第六种方式

你知道几种实例化一个类的方式? new?反射?还有呢? 笔者总结了一下大概有以下六种方式: (1)通过构造方法实例化一个类; (2)通过Class实例化一个类; (3)通过反射实例化一个类; (4)通过克隆实例化一个类; (5)通过反序列化实例化一个类; (6)通过Unsafe实例化一个类; Le...

2019-05-07 23:35:07

阅读数 27

评论数 0

死磕 java并发包之AtomicInteger源码分析

问题 (1)什么是原子操作? (2)原子操作和数据库的ACID有啥关系? (3)AtomicInteger是怎么实现原子操作的? (4)AtomicInteger是有什么缺点? 简介 AtomicInteger是java并发包下面提供的原子类,主要操作的是int类型的整型,通过调用底层Unsafe...

2019-05-07 00:21:23

阅读数 30

评论数 0

死磕 java魔法类之Unsafe解析

问题 (1)Unsafe是什么? (2)Unsafe只有CAS的功能吗? (3)Unsafe为什么是不安全的? (4)怎么使用Unsafe? 简介 本章是java并发包专题的第一章,但是第一篇写的却不是java并发包中类,而是java中的魔法类sun.misc.Unsafe。 Unsafe为我们提...

2019-05-06 01:01:25

阅读数 31

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭