![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码解读
文章平均质量分 84
wu-sheng
Focus on distributed tracing and diagnosis. Sky-walking, open source distributed tracing system, founder and PMC member. OpenTracing & OTIAB member.
展开
-
jdk6标准类库源码解读 之 数据结构 (一) ArrayList<E>
最近受到一次面试的启发,开始看jdk6的标准源码,在这里记录下自己看的过程中的体会,和大家分享。 从最常用的数据结构开始 ArrayList<E> 此对象的存储采用的是标准的Object数组(elementData)进行存储,同时使用一个整形记录数组(elementData)中实际数据的长度。 /** * The array buffer i...2011-03-06 00:12:18 · 82 阅读 · 0 评论 -
jdk6标准类库源码解读 之 数据结构 (二) LinkedList<E>
LinkedList<E> 此对象使用双向循环链表的方式进行。定义内部对象LinkedList.Entry<E>,用于存储链表中的每个节点,每个节点结构包括前一节点指针、后一节点指针、当前节点值。 private static class Entry<E> { E element; ...2011-03-06 11:54:35 · 69 阅读 · 0 评论 -
jdk6标准类库源码解读 之 数据结构 (三) HashMap<K,V>
HashMap<K,V> 此哈希表采用数组+单向链表的方式进行存储。数组中的每个元素,对应哈希算法下的一个哈希值。哈希值重复时,采用链表处理。 /** * The table, resized as necessary. Length MUST Always be a power of two. */ transient Entry[]...2011-03-07 14:16:41 · 135 阅读 · 0 评论 -
jdk6标准类库源码解读 之 java.lang(一) StringBuffer/StringBuilder
StringBuffer/StringBuilder StringBuffer来自JDK 1.0,StringBuilder来自JDK 1.5。StringBuffer在1.5后被重构。两个类都基于1.5的AbstractStringBuilder。实现方式是一致的。StringBuffer的核心方法是线程安全的,使用了synchronized,StringBuilder则没有。 publ...2011-03-07 19:47:59 · 98 阅读 · 0 评论 -
jdk6标准类库源码解读 之 java.lang(二) ThreadLocal<T>
ThreadLocal<T> ThreadLocal中的基本存储结构是ThreadLocalMap。其中使用到了一个基础对象:WeakReference<T>,WeakReference(弱引用)指当需要某个指向某对象的引用,但又不影响此对象的垃圾收集,应该使用此对象代替一般的 reference。即,这个对象在除了WeakReference以外没有其他引用指向时,可以...2011-03-08 13:54:34 · 86 阅读 · 0 评论 -
SkyWalking子项目--DataCarrier 1.0 解读
DataCarrier作为一款轻量级的基础库,代码结果相当简单,如果通读一下代码,30-40分钟应该就能完成明确用途,这里为了方便大家更容易使用,简要介绍一下DataCarrier类库结果和使用方法。 官方的使用文档,使用英文发布在项目主页上(https://github.com/wu-sheng/DataCarrier),大家可以直接查看,并提供了相关的实例...原创 2016-10-31 14:33:15 · 689 阅读 · 0 评论 -
SkyWalking监控系统进展说明
据SkyWalking(https://github.com/wu-sheng/sky-walking)分布式监控系统的首次开源过去了3个月的时间,期间项目修改了大量的代码,提交和发布了大量新的埋点功能,修复了大量的BUG。 监控点的性能损耗,控制在100微妙以下。保证监控单次调用链存在50个监控点的情况,延迟在10毫秒以下。 在此期间,项目依靠新...2016-04-10 14:35:17 · 572 阅读 · 0 评论