会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
takumiCX
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2018年8月21日
Zookeeper的基本概念和重要特性
摘要: [TOC] 1. 什么是Zookeeper Zookeeper是大数据生态圈中的重要组件,如果你做过相关开发的话,应该经常能看到它的身影。其由雅虎开源并成为Apache的顶级项目。用一句话对其进行定义就是:它是一套高吞吐的分布式协调系统。从中我们可以知道Zookeeper至少具有以下特点: 1.Zo
阅读全文
posted @ 2018-08-21 20:10 takumiCX
阅读(15806)
评论(2)
推荐(1)
2018年8月18日
基于双向链表实现无锁队列的正确姿势(修正之前博客中的错误)
摘要: [TOC] 1. 前言 如果你认真看过我前几天写的这篇博客 "自己动手构建无锁的并发容器(栈和队列)" 的队列部分,那么我要向你表示道歉。因为在实现队列的出队方法时我犯了一个低级错误:队列的出队方向是在队列头部,而我的实现是在队列尾部。尽管代码能够正确执行,但明显不符合队列规范。所以那部分代码写作"
阅读全文
posted @ 2018-08-18 14:32 takumiCX
阅读(4616)
评论(1)
推荐(3)
2018年8月15日
自己动手构建无锁的并发容器(续篇)——基于单向链表实现的无锁队列
摘要: [TOC] 1. 前言 在 "自己动手构建无锁的并发容器(栈和队列)" 中我们基于CAS算法构建了自己的无锁队列,其底层实现是不带哨兵结点的双向链表。双向链表为当前结点保留了指向前驱结点的引用,这种特性有时很有用,比如ReentrentLock中线程被唤醒后会通过prev指针找到前驱结点,通过判断其
阅读全文
posted @ 2018-08-15 11:01 takumiCX
阅读(1756)
评论(0)
推荐(0)
2018年8月11日
自己动手构建无锁的并发容器(栈和队列)
摘要: 更新日志(2018年8月18日):这篇博客的队列部分犯了个低级错误:入队和出队在同在队列尾端进行。正确的实现方式见 "基于双向链表实现无锁队列的正确姿势(修正之前博客中的错误)" [TOC] 1.前言 并发容器是线程安全的容器。它在实现容器基本功能的前提下,还提供了并发控制能力,使得容器在被多线程并
阅读全文
posted @ 2018-08-11 09:05 takumiCX
阅读(2490)
评论(2)
推荐(1)
2018年8月7日
从源码角度彻底理解ReentrantLock(重入锁)
摘要: [TOC] 1.前言 在 "ReentrantLock(重入锁)功能详解和应用演示" 这篇文章里我们讲解并演示了ReentrantLock(重入锁)的各种功能,其中就谈到ReentrantLock可以有公平锁和非公平锁的不同实现,只要在构造它的时候传入不同的布尔值,继续跟进下源码我们就能发现,关键在
阅读全文
posted @ 2018-08-07 08:51 takumiCX
阅读(27250)
评论(21)
推荐(17)
2018年7月28日
java基础强化——深入理解反射
摘要: [TOC] 1.从Spring容器的核心谈起 使用过Spring框架进行web开发的应该都知道,Spring的两大核心技术是IOC和AOP。而其中IOC又是AOP的支撑。IOC要求由容器来帮我们自动创建Bean实例并完成依赖注入。IOC容器的代码在实现时肯定不知道要创建哪些Bean,并且这些Bean
阅读全文
posted @ 2018-07-28 10:05 takumiCX
阅读(2017)
评论(0)
推荐(3)
2018年7月23日
java基础强化——深入理解java注解(附简单ORM功能实现)
摘要: 1.什么是注解 注解是java1.5引入的新特性,它是嵌入代码中的元数据信息,元数据是解释数据的数据。通俗的说,注解是解释代码的代码。这个定义强调了三点, 1.注解是代码 这意味着注解可以被程序读取并解析。它可以被编译器编译成class文件,也可以被JVM加载进内存在运行时进行解析。JDK中的"@O
阅读全文
posted @ 2018-07-23 21:30 takumiCX
阅读(2188)
评论(0)
推荐(3)
2018年7月19日
ReentrantLock(重入锁)功能详解和应用演示
摘要: [TOC] 1. ReentrantLock简介 jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上ReentrantLock和synchronized没有什么区别,但ReentrantLock相比synchronized而言功能更加丰富
阅读全文
posted @ 2018-07-19 23:11 takumiCX
阅读(102255)
评论(14)
推荐(30)
2018年7月18日
阻塞和唤醒线程——LockSupport功能简介及原理浅析
摘要: [TOC] 1.LockSupport功能简介 在java并发包下各种同步组件的底层实现中,LockSupport的身影处处可见。JDK中的定义为用来创建锁和其他同步类的线程阻塞原语。 我们可以使用它来阻塞和唤醒线程,功能和wait,notify有些相似,但是LockSupport比起wait,no
阅读全文
posted @ 2018-07-18 12:14 takumiCX
阅读(13687)
评论(3)
推荐(1)
2018年7月16日
ThreadLocal原理深入解析
摘要: [TOC] 1. 从一次项目经历说起 在上家公司做spark的任务调度系统时,碰到过这么一个需求: 1.任务由一个线程执行,同时在执行过程中会创建多个线程执行子任务,子线程在执行子任务时又会创建子线程执行子任务的子任务。整个任务结构就像一棵高度为3的树。 2.每个任务在执行过程中会生成一个任务ID,
阅读全文
posted @ 2018-07-16 22:58 takumiCX
阅读(2394)
评论(1)
推荐(1)
上一页
1
2
3
下一页
公告