转载请注明出处:javascript:void(0)
您好。我正在參加CSDN博文大赛。假设您喜欢我的文章,希望您能帮我投一票,谢谢。
投票地址:javascript:void(0)
LinkedList简单介绍
LinkedList是基于双向循环链表(从源代码中能够非常easy看出)实现的,除了能够当做链表来操作外。它还能够当做栈、队列和双端队列来使用。
LinkedLis
转载
2017-06-24 18:39:00
295阅读
2评论
转载请注明出处:http://blog..net/ns_code/article/details/36191279Hashtable简单介绍 Hashtable相同是基于哈希表实现的,相同每一个元素是一个key-value对。其内部也是通过单链表解决冲突问题。容量不足(超过了阀值)时,相同会
转载
2017-05-26 15:36:00
258阅读
2评论
转载请注明出处:http://blog..net/ns_code/article/details/37867985 前言:有网友建议分析下LinkedHashMap的源代码。于是花了一晚上时间研究了下,分享出此文(这个系列的最后一篇博文了),希望大家相互学习。LinkedHashMap的源代
转载
2017-05-16 19:21:00
271阅读
2评论
注:下面源代码基于jdk1.7.0_11之前的两篇文章通过源代码分析了两种常见的Map集合,HashMap和Hashtable。本文将继续介绍还有一种Map集合——LinkedHashMap。顾名思义,LinkedHashMap除了是一个HashMap之外。还带有LinkedList的特点。也就是说...
转载
2016-01-16 17:14:00
429阅读
2评论
前言 本文不打算延续前几篇的风格(对全部的源代码增加凝视)。由于要理解透TreeMap的全部源代码。对博主来说,确实须要耗费大量的时间和经历。眼下看来不大可能有这么多时间的投入,故这里意在通过于阅读源代码对TreeMap有个宏观上的把握。并就当中一些方法的实现做比較深入的分析。 红黑树简单介绍 Tr
转载
2021-08-06 16:25:45
205阅读
注:下面源代码基于jdk1.7.0_11Set集合事实上是对Map集合的封装,Map集合存储的是键值对,那么我们将值隐藏,不向外界暴露,这样就形成了Set集合。相应Map集合的两个非常重要的实现HashMap(基于哈希表),TreeMap(基于红黑树),Set集合也相应了两个类HashSet和Tre...
转载
2014-10-28 13:15:00
222阅读
2评论
HashMap简单介绍 HashMap是基于哈希表实现的,每个元素是一个key-value对。其内部通过单链表解决冲突问题,容量不足(超过了阀值)时。相同会自己主动增长。 HashMap是非线程安全的。仅仅是用于单线程环境下。多线程环境下能够採用concurrent并发包下的concurrentHa
转载
2018-02-05 11:39:00
114阅读
2评论
Spark SQL原理解析前言:Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述这一次要开始真正介绍Spark解析SQL的流程,首先是从Sql Parse阶段开始,简单点说,这个阶段就是使用Antlr4,将一条Sql语句解析成语法树。可能有童鞋没接触过antlr4这个内容,推荐看看《antlr4权威指南》前四章,看完起码知道antlr4能干嘛。我这里就不多介绍了。这篇首先先介
( 1 )读懂程序码,使心法皆为我所用。
( 2 )摸清架构,便可轻松掌握全貌。
( 3 )优质工具在手,读懂程序非难事。
( 4 )望文生义,进而推敲组件的作用。
( 5 )找到程序入口,再由上而下抽丝剥茧。
( 6 )阅读的乐趣,透过程序码认识作者。
转载
精选
2013-01-20 08:56:15
368阅读
大部分思路都是一样的 。仅仅是一些细节不一样。源代码中都标了出来。jdk容器源代码还是挺简单的。 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { //容
转载
2017-07-02 12:53:00
92阅读
Timer是java.util包中的一个工具类,提供了定时器的功能。我们能够构造一个Timer对象,然后调用其schedule方法在某个特定的时间或者若干延时之后去运行一个特定的任务。甚至你能够让其以特定频率一直运行某个任务,这个任务用TimerTask描写叙述,我们将须要的操作写在TimerTas
转载
2017-08-18 19:27:00
300阅读
2评论
前面学习的例子都是单线程的socket收发;如果有多个用户同时接入,那么除了第一个连入的,后面的都会处于挂起等待的状态,直到当前连接的客户端断开为止。通过使用socketserver,我们可以实现并发的连接。socketserver的使用很简单:首先看个简单的例子服务端:自己定义一个类,继承socketserver.baserequesthandler;然后定义一个方法 handle()然后通过s
推荐
原创
2016-10-24 14:07:48
3555阅读
源码分析: 对于ArrayList应该是开发当中每天都会与之打交道的,都知道它底层是由数组来实现的,但对于它底层的具体实现细节说实话却道不出一二来,所以打开它的源代码一探究竟,先来看一下应用代码: 先查看一下它的类继承体系: 比较复杂,接着根据咱们调用的是它的默认构造方法来初始化ArrayList的
原创
2018-05-05 14:19:00
105阅读
Phaser是一个能够反复利用的同步栅栏。功能上与CyclicBarrier和CountDownLatch相似,只是提供更加灵活的使用方法。也就是说,Phaser的同步模型与它们几乎相同。一般运用的场景是一组线程希望同一时候到达某个运行点后(先到达的会被堵塞),运行一个指定任务,然后这些线程才被唤醒
转载
2017-07-30 09:21:00
120阅读
源码分析: 我们知道LinkedList的底层是采用双向链表来实现的,所以下面来从源码角度来分析一下,先来看一下它的类结构: 然后看一下它的构造: 而这个header又是什么东东呢? 是一个Entry类型,好眼熟,对于HashMap遍历的时候不就用过Entry么,那看一眼它长啥样? 好,接着咱们会往
原创
2018-05-05 15:48:00
65阅读
Kubernetes(简称:k8s)是Google开源的容器集群管理系统,是一个全新的基于容器技术的分布式架构领先方案,简单来说K8S是容器编排管理平台。 在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。毫无疑问,Kubernetes已经成为容器领域当之无愧的事实标准。除了Google、Microsoft等技术
转载
2024-08-16 20:55:32
36阅读
“大数据”这个词儿已经在 IT 圈蔓延到各个领域,如果真要刨根问底的问一句“如何实现大数据分析”,恐怕是 IT 圈里的好些人也一时半会儿解释不清楚吧。所以尝试把大数据分析这个事做个深入浅出的剖析还是很有意义的。仁者见仁智者见智,能力所限,表达如有不准确的地方希望你能用包容的心态多理解和指导。首先,用5秒钟的时间扫描一下下面的这段内容吧: 知道上面是一段日志文件的片段的请举手。敢问阁下您是一位受人尊
本文为senlie原创。转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.python的运行过程 1)对python源码进行编译。产生字节码 2)将编译结果交给python虚拟机。由虚拟机依照顺序一条一条地运行字节码,产生运行结果 2.Python编译器的编译结
转载
2017-07-19 15:46:00
144阅读
2评论
前面一系列的博客分析了Redis的基本数据结构,有动态字符串sds、双端链表sdlist、字典dict、跳跃表skiplist、整数集合intset和压缩列表ziplist等,这些数据结构对于用户来说是不可见的。
Redis在这些数据结构的基础上构建了对用户可见的五种类型,各自是string、hash、list、set和zset,为了更方便的使用这五种数据类型,Redis定义了RedisOb
转载
2021-08-06 13:00:07
250阅读
近期在读APUE, 边看还得边做才有效果. 正好linux下非常多命令的是开源的, 能够直接看源代码. GNU coreutils 是个不错的选择. 源代码包有我们最经常使用的 ls, cat等命令的源代码, 每一个命令都比較短小精悍, 适合阅读. 以下是我阅读 cat 命令的一点笔记.
到这里下载源代码. 在源代码根文件夹下 ./configure; make 就能够直接编译, 改动后mak
转载
2017-04-19 16:33:00
301阅读
2评论