- 博客(17)
- 收藏
- 关注
原创 ThreadLocal 及 FastThreadLocal 分析
ThreadLocal 分析:ThreadLocal 的功能:通过ThreadLocal变量,构建一个Thread 级别变量,在同一个线程中共享该变量,不同线程中隔离该变量,是一种解决线程安全的方式。ThreadLocal 是什么:ThreadLocal 是一个Thread 级别变量的key,通过ThreadLocal可以直接获取这个Thread 级别的变量。ThreadLoc...
2019-10-11 13:33:17
357
原创 CPU缓存一致性协议MESI 的理解,及CAS基于MESI的应用
CPU缓存一致性协议MESI 的理解关于CPU缓存一致性协议MESI,已经有很多文章详细的介绍,如下https://www.cnblogs.com/yanlong300/p/8986041.html以下是我个人对这个协议的理解。首先,CPU与缓存及内存及总线的关系如下图所示:所以CPU获取数据是直接从缓存中获取,不是从内存中获取。由于现在CPU架构支持多核,所以多核CP...
2019-09-19 15:57:12
630
原创 FutureTask 分析
FutureTask 功能:由于FutureTask 同时实现Future和Runable接口,所有FutureTask代表一种支持异步计算的任务。这里有两重概念,一个是获取异步计算结果,二是可执行的任务。FutureTask 原理分析:为了实现FutureTask 的两个功能,逐一进行分析。1.获取异步计算结果:通过将无状态的结果,引入生命周期概念,进行状态化,来完成异...
2019-09-11 14:52:41
196
原创 apache commons-io类库中FileCleaningTracker 分析
源码分析:https://blog.csdn.net/jasontome/article/details/6780989设计思路:1. 通过Daemon线程删除无效的临时文件。2. 通过ReferenceQueue引用队列获取无效的文件对象,引用队列标识文件对象是否已经回收无效。虚引用使用:首先参考PhantomReference的回收机制https://www....
2019-08-28 13:24:43
953
原创 DelayQueue 基本原理深入分析
DelayQueue是一个无界阻塞队列,队列中元素只有在延迟期满时才能从中提取。在每次往优先级队列中添加元素时以元素的过期时间作为排序条件,最先过期的元素放在优先级最高。DelayQueue实现的关键主要有如下几个:可重入锁ReentrantLock 用于阻塞和通知的Condition对象 根据Delay时间排序的优先级队列:PriorityQueue(完全二叉堆) 用于优化阻塞通知...
2019-07-30 21:18:19
670
转载 Condition 分析与总结
在没有 Lock 之前,我们使用synchronized来控制同步,配合 Object 的#wait()、#notify()等一系列方法可以实现等待 / 通知模式。而Object 的#wait()、#notify()的缺点主要在于一个锁只支持一个等待队列,如果一个锁上的等待条件又多个,一个条件满足后,会唤醒等待队列中所有的线程,而等待队列中有些线程是在等待其他的条件,也就是“过早唤醒...
2019-07-27 15:29:36
149
原创 ReentrantReadWriteLock 分析
ReentrantReadWriteLock实现 ReadWriteLock 接口,可重入的读写锁实现类。在它内部,维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。读取锁可以由多个 Reader 线程同时保持。也就说,写锁是独占的,读锁是共享的。ReentrantReadWriteLock 代码结构如下:public class ReentrantReadWriteLock ...
2019-07-26 14:42:29
103
原创 Java多线程编程实战指南 核心篇 总结-4
线程间协作等待与通知:wait/notifywait方法:一个线程因其执行目标动作所需的保护条件未满足而被暂停的过程。wait方法继承自Object类(方法修饰符为fianl native,这也解释了为什么condition类中不能重写wait等方法) 阻塞:wait方法的调用都会使当前线程阻塞。该线程将会被放置到对该Object的请求等待队列中,然后让出当前对Object所拥有的对...
2018-11-09 18:09:03
409
原创 深入理解Java虚拟机:JVM高级特性与最佳实践 - 总结2
JVM 垃圾回收三部曲:哪些对象需要回收 何时回收这些对象 怎样回收回收这些对象哪些对象需要回收:判断一个对象是否可回收引用计数: 定义:给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1 问题:两个对象会出现循环引用问题,此时引用计数器永远不为 0,导致 GC 收集器无法回收。 可达性(java使用此方法): 定义:通过 ...
2018-11-08 23:36:14
201
原创 Java多线程编程实战指南 核心篇 总结-3
线程同步机制从广义上说,Java平台提供的线程同步机制包括锁、volatile关键字、final关键字和一些相关的API,如Object.wait( )/.notify( )等锁定义:锁具有排他性,即一个锁一次只能被一个线程持有。因此,这种锁被称为排他锁或者互斥锁。还有另外一种锁--读写锁,它可以被看作排他锁的一种相对改进。作用:锁能够保护共享数据以实现线程安全,其作用包括保障原子...
2018-10-29 13:16:17
138
原创 Java多线程编程实战指南 核心篇 总结-2
1. 线程安全性线程安全性体现在三个方面:1.原子性 2.可见性 3.有序性原子性:原子操作是多线程环境下的一个概念,它是针对访问共享变量的操作而言的。java中有两种方式实现原子性。一种是使用锁。另一种是利用处理器专门提供的CAS(Compare-and-Swap)指令。它们的差别在于:锁通常是在软件这一层次实现的,而CAS是直接在硬件这一层次实现的,它可以被看作“硬件锁”...
2018-10-25 18:03:30
149
原创 Java多线程编程实战指南 核心篇 总结-1
1. 多线程的三种实现及java多线程的实现详解见:https://blog.csdn.net/nalanmingdian/article/details/77748326java 使用用户线程加轻量级进程混合实现,且采用1对1模型,其中兼顾实现复杂度及跨平台性。由于仅使用用户线程,则线程相关的调度、切换即CPU映射等复杂操作都需要考虑所以在java 1.2 后就不在使用了,而...
2018-10-25 16:55:38
395
原创 Probability and Statistics -- Introduction to Probability (part II)
1.7 Counting Methods1.8 Combinatorial Methods 所以,在N个元素中选择K个元素子集的组合与两种类型元素在N个位置上K种安排的组合是等价的。Ordered versus Unordered Samples样本空间S不考虑序列顺序,概率事件E也不考虑序列顺序,S与E应保持一致。------------------------------1.9 Multino...
2018-02-24 13:30:25
313
原创 Probability and Statistics -- Introduction to Probability (part I)
1.3 Experiments and EventsProbability will be the way that we quantify how likely something is to occur概率可以量化一些可能发生的事情。An experiment is any process, real or hypothetical, in which the possible outcome...
2018-01-09 15:15:04
1184
原创 Statistics for business and economics 11th 读书笔记 (1 end)
1.8 Ethical Guidelines for Statistical PracticeThe American Statistical Association, the nation’s leading professional organization for statistics and statisticians, developed the report “Ethical Guid
2018-01-02 14:58:45
1175
原创 Statistics for business and economics 11th 读书笔记 (1-1.5 end)
第一章 Date and Statistics1.2 Data度量数据的维度(Scales of Measurement),主要分为以下几类:nominal scale(字面量的,直接通过属性描述就能识别出价值信息), ordinal scale (the data can beranked, or ordered, with respect to the service quality),int
2017-12-29 16:51:55
634
转载 Oracle Concepts 中文版 mark
http://zw1840.com/oracle/translation/concepts/index.htm
2017-08-19 13:26:08
1011
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人