
JDK
文章平均质量分 86
smile4lee
这个作者很懒,什么都没留下…
展开
-
【JDK】:java.lang.Integer源码解析
本文对JDK8中的java.lang.Integer包装类的部分数值缓存技术、valueOf()、stringSize()、toString()、getChars()、parseInt()等进行简要分析。Integer缓存先来看一段代码:Integer a1 = Integer.valueOf(13);Integer a2 = Integer.valueOf(13);Integer a3 = I原创 2016-05-14 18:45:50 · 1769 阅读 · 0 评论 -
java.util.concurrent并发包结构、锁——博客地址
java.util.concurrent并发包诸类概览java.util.concurrent包详细分析关于java的线程并发和锁的总结Java线程并发中常见的锁java内置锁synchronized的可重入性转载 2016-08-29 09:15:54 · 1117 阅读 · 0 评论 -
【JDK】:Fork-Join框架
概述前面的文章【JDK】:Executor框架提到Executor框架,而Fork-Join框架也与Executor框架相关的多线程并行运算的框架。Fork-Join框架有自己的适用范围。如果一个应用能被分解成多个子任务,并且组合多个子任务的结果就能够获得最终的答案,那么这个应用就适合用 Fork-Join框架模式来解决。下图给出了一个 Fork-Join框架模式的示意图,位于图上部的 Task 依原创 2016-05-16 20:20:35 · 1107 阅读 · 0 评论 -
【JDK】:Executor框架
在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在Java 5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外原创 2016-05-16 11:16:57 · 1550 阅读 · 0 评论 -
【JDK】:CopyOnWriteArrayList、CopyOnWriteArraySet 源码解析
CopyOnWriteArrayList转载 2016-05-15 21:02:35 · 1625 阅读 · 0 评论 -
【JDK】:Java容器框架——同步容器与并发容器
前面的文章中详细介绍了Java的容器框架,在此基础上,本文对Java中的同步容器与并发容器做一些介绍。fail-fast机制快速报错机制(fail-fast)能够防止多个进程同时修改同一个容器的内容。如果在你迭代遍历某个容器的过程中,另一个进程接入其中,并且插入、删除或者修改此容器内的某个对象,就会出现问题:也许迭代过程已经处理过容器中的该元素了,也许还没处理,也许在调用size()之后尺寸缩小了等转载 2016-05-15 21:00:58 · 5037 阅读 · 1 评论 -
【JDK】:ConcurrentHashMap高并发机制——【转载】
在学习ConcurrentHashMap的高并发时,找到了一些高质量的博客,就没有重复转载了。推荐文章的博客地址如下:程晓明,探索 ConcurrentHashMap 高并发性的实现机制方腾飞,聊聊并发(四)——深入分析ConcurrentHashMap原创 2016-05-13 09:47:39 · 1446 阅读 · 0 评论 -
【JDK】:ArrayList和LinkedList源码解析
ArrayListArrayList也叫数组列表,底层使用的数组实现的,严格来说是动态数组。ArrayList工作原理ArrayList工作原理其实很简单,底层是动态数组,每次创建一个ArrayList实例时会分配一个初始容量(如果指定了初始容量的话),以add方法为例,如果没有指定初始容量,当执行add方法,先判断当前数组是否为空,如果为空则给保存对象的数组分配一个最小容量,默认为10。当添加大容原创 2016-05-12 21:50:08 · 830 阅读 · 1 评论 -
【JDK】:java.lang.String、StringBuilder、StringBuffer 源码解析
String接口和属性String类是final不可继承的,用来存放字符数组的value[]也是final修饰的,这意味着String类是不可变的,一旦new出来就不能发生改变。因此对一个String类的对象进行任何修改(增加、删除、替换)之后,都会生成一个新的对象返回。public final class String implements java.io.Serializable, Co原创 2016-05-12 21:13:46 · 1259 阅读 · 0 评论 -
【JDK】:HashMap详解
Hash散列基本思想哈希表使用数组和链表共同实现散列存储,每一个数组元素可以认为是散列表中的桶位(buket),每个桶位存放一个链表,该链表由散列码(hashCode)相同的节点构成。Hash表的查找就是根据需要查找的对象(key, value)中的key,利用散列函数计算key对应的hashCode,即数组的下标(buket的索引),在O(1)时间内找到对应的桶位,再遍历该桶位内的链表,查找对应的原创 2016-05-12 16:45:55 · 658 阅读 · 0 评论 -
【JDK】:Java容器框架
容器框架概述在JDK8中rt.jar文件中,java.util.*;包中的容器主要包括List、Set、Queue和Map四个大类,其中List、Set、Queue是和Collection接口相关的容器,而Map是单独列出来的容器。使用astah community版绘制了容器框架的类图。Collection的List、Set、Queue类图如下:Map容器的类图如下:注意到上面的类图中有几个单独列原创 2016-05-12 09:16:43 · 3833 阅读 · 3 评论 -
Java NIO 相关博文链接
Java NIO 相关资料Java NIO浅析——美团点评团队理解Java NIO——云栖社区原创 2017-07-20 20:30:03 · 983 阅读 · 0 评论