Reading the SourceCode
ChuckLin
轮子爱好者与总结狂热分子
展开
-
线程池源码阅读
ThreadPoolExecutor——线程池类源码粗略解读 1、数据结构 ThreadPoolExecutor中定义Worker类——工作线程类来封装每一个线程,使用BlockingQueue来放置每个线程中需要执行的task任务。另外该类中还声明了一个ThreadFactory变量以提供创建新线程的功能。 private final class Worker extends...原创 2019-02-17 11:17:16 · 104 阅读 · 0 评论 -
读Vector源码所思所得
#Vector:向量 I.通常向量都会被拿来与数组进行比较,两者的区别在于向量的长度是可以随着向量内元素数量的增加而增加,而数组的长度则是固定的 Java也提供了向量给看开发者,类全名为:java.util.Vector,角色是一个集合类型,究其根本,向量是一个特殊的数组,其主要特点体现在插入新元素的过程,代码如下。 代码清单: public synchronized void...原创 2019-02-17 11:18:03 · 112 阅读 · 0 评论 -
读String源码所思所得
#读String源码所思所得 I.String类型最大的特点是String对象在创建之后是不可变的,因此String对象之间是可以共享的,即具有相同字符串的String对象都引用自同一个String。 原因在于,装载字符的value声明的时候被final修饰,private final char value[]。 如String str = “abc” 和char data[] = {‘a’, ...原创 2019-02-17 11:18:49 · 116 阅读 · 0 评论 -
读StringBuffer和StringBuilder所思所得
#读StringBuffer和StringBuilder所思所得 ##StringBuffer I.StringBuffer与String十分相似,但长度和内容是可变的(装载字符的value声明的时候未被final修饰, char value[]),StringBUffer都有一个体积,但StringBuffer元素数量溢出时,体积会自动扩大。 II.StringBuffer是线程安全的,...原创 2019-02-17 11:19:02 · 144 阅读 · 0 评论 -
读HashMap源码所思所得
#读HashMap源码所思所得 ##特性 1、HashTable与HashMap相差无几,仅有的区别在于:HashMap是异步且允许加入的元素为空,如此可知Hashtable是同步的且不允许加入的元素为空。如果需要用到同步的HashMap,可以使用synchronizedMap进行封装:Map m = Collections.synchronizedMap(new HashMap(…));。原...原创 2019-02-17 11:19:15 · 139 阅读 · 0 评论 -
读ArrayList源码所思所得
#读ArrayList源码所思所得 ##特性 1、ArrayList是实现了List接口中的所有方法的可变数组;允许存在元素为NULL;与Vector相似,区别在于ArrayList是异步的,而Vector是同步的,如果需要同步的ArrayList,可以用使用List list = Collections.synchronizedList(new ArrayList(…))进行封装。 2、...原创 2019-02-17 11:19:28 · 114 阅读 · 0 评论 -
迭代器
#迭代器(Iterator) 用于遍历某个数据结构实例中的所有数据,它取代了java集合框架中的Enumeration接口的位置 与Enumeration接口比较,迭代器的优点在于: ①增加了可以在遍历过程中进行删除操作的 ②方法名进行了改进(感觉没什么卵用) 查看源码,发现其中的remove()方法和forEachRemaining()方法使用了default关键字 //代码清单:...原创 2019-02-17 11:19:42 · 130 阅读 · 0 评论 -
concurrentMap源码阅读
#concurrentMap源码阅读理解 ##特性: 保证了线程安全性和原子性 线程加入对象的操作优先于线程获取和删除对象的操作 不允许加入为null的value,因此其实现类若需要允许value为null的特性,需要重载方法 concurrentMap定义了Map的基本操作,但未实现线程安全性和原子性,交由其实现类实现;因此我们需要阅读其实现类的源码,典型的就是concurrentHashM...原创 2019-02-17 11:19:55 · 122 阅读 · 0 评论 -
Regex
Regex’s Pattern and Matcher Pattern:对字符串进行正则表达式匹配 I.By default, the regular expressions ^ and $ ignore line terminators and only match at the beginning and the end, respectively, of the entire input...原创 2019-02-17 12:35:30 · 552 阅读 · 0 评论