自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 目录

一、util包里的容器类util包源码(一):ArrayList源码笔记util包源码(二):HashMap源码笔记util包源码(三):LinkedList源码笔记util包源码(四):TreeMap源码笔记util包源码(五):Hashtable源码笔记...

2019-01-24 18:27:33 119

原创 concurrent包(一):ArrayBlockingQueue源码阅读笔记

一、概述ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。线程安全:是指,ArrayBlockingQueue内部通过“互斥锁”保护竞争资源,实现了多线程对竞争资源的互斥访问。有界:则是指ArrayBlockingQueue对应的数组是有界限的。阻塞:是指多线程访问竞争资源时,当竞争资源已被某线程获取时,其它要获取该资源的线程需要阻塞等待先入先出:ArrayBlo...

2019-03-26 20:10:09 137

原创 util包源码(九):阶段性总结

一、总体框架二、CollectionColletcion接口下有两大实现:List和SetListSet是否有序LinkedList有序,其他无序HashSet无序,TreeSet有序元素是否可重复是否具体实现ArrayList、LinkedList、VectorHashSet、TreeSet是否线程安全Vector安全,其他不安全都...

2019-01-28 17:11:54 156

原创 util包源码(八):HashSet和TreeSet源码笔记

阅读时间:2019.1.28一、概述HashSetTreeMapvalue是否可null可以可以value是否唯一是是底层实现HashMap+setTreeMap+set是否线程安全否否是否有序无序有序二、HashSetHashSet的底层实现,是依靠hashMap的,值的唯一性是依靠HashMap的key的唯一性。1...

2019-01-28 15:50:27 119

原创 util包源码(七):WeakHashMap源码笔记

阅读时间:2019.1.28一、概述WeakHashMap 继承于AbstractMap,实现了Map接口。和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射,而且键和值都可以是null。与HashMap不同的是,WeakHashMap 桶内一直是单链表存储,不进行红黑树转化。最后,WeakHashMap 最关键的特性:key是弱...

2019-01-28 15:00:24 110

原创 util包源码(六):LinkedHashMap源码笔记

阅读时间 : 2019.1.25一、概述LinedHashMap与HashMap很类似,但他在构建哈希表时,用双向链表连接各节点,桶内超过8个节点,也会转化为二叉树。LinedHashMap在空间和时间上占用更大资源,但其优越性在于有序性。但LinedHashMap的有序性与treemap不同。LinedHashMap有序,是指LinedHashMap可以实现两种有序性:1.按插入的顺序...

2019-01-25 16:58:16 141

原创 util包源码(五):Hashtable源码笔记

阅读时间:2019.1.23–1.24一、概述hashtablehashmap线程安全是否底层结构哈希表+单链表哈希表+单链表+红黑树父类Dictionary(已废弃)AbstractMap是否支持null key不支持支持是否支持null value不支持支持默认初始容量1116扩容倍数2倍初始容量+12倍...

2019-01-24 15:07:19 102

原创 util包源码(四):TreeMap源码笔记

阅读时间:2019.1.18–一、概述TreeMap底层为红黑树实现,最大的特点是可排序或者说天生有序。关于排序:排序的方式可以按大小,也可以自定义实现Comparator ,且对于自定义的类(如User类),那么必须自己定义比较机制:1 、方式一:User类去实现java.lang.Comparable接口,并实现其compareTo()方法。2、方式二:写一个类(如MyCompat...

2019-01-23 16:42:47 159

原创 util包源码(三):LinkedList源码笔记

阅读时间:2019.1.17—1.18下一篇看TreeMap一、概述LinkedList是双向链表,线程不安全,查找速度O(log N),任意位置的添加删除快。二、关键属性属性还是比较浅显易懂的,比HashMap容易很多transient int size = 0;transient Node<E> first;//头节点transient Node<E> ...

2019-01-18 11:14:06 136

原创 util包源码(二):HashMap源码笔记

阅读时间:2019.1.11–1.17java版本:1.8一、概述在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。在JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值8时,将链表转换为红黑树,这样大大减少了...

2019-01-17 14:31:48 152

原创 util包源码(一):ArrayList源码笔记

一.初始化 代码片.ArrayList初始化有三种方式,无参,有int参,或者一个容器类型的参数 //默认构造函数,会创建一个空的数组Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {} public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEME...

2019-01-15 16:54:37 120

原创 设计模式学习JAVA(四)创建性模式——原型模式

参考链接:http://www.runoob.com/design-pattern/prototype-pattern.html示例代码:https://github.com/jianghan0712/design-pattern一、综述        所谓原型模式,就是在在一个频繁创建同一个对象实体的系统中,因为频繁的构建相同的实体,很繁琐,所以通过原型的“自我复制”,来达到创建对象...

2019-01-09 18:07:16 88

原创 设计模式学习JAVA(三)创建性模式——简单工厂/抽象工厂

参考链接:http://www.runoob.com/design-pattern/abstract-factory-pattern.html示例代码:https://github.com/jianghan0712/design-pattern目录简单工厂一、综述二、主要思想三、示例UML四、示例代码五、总结 抽象工厂一、综述二、主要思想三、示例...

2019-01-09 16:31:13 129

原创 设计模式学习JAVA(二)创建型模式-——单例模式

参考:http://www.runoob.com/design-pattern/singleton-pattern.html代码仓库:https://github.com/jianghan0712/design-pattern一、综述单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,也是相当常用的创造模式之一。它能保证在对象生命周期中,只存在单个对象的...

2019-01-08 17:30:49 114

转载 设计模式学习JAVA(一)概总

参考链接:http://www.runoob.com/design-pattern/design-pattern-intro.html把最近学习的设计模式总结一下。2019.1.8,先从创建型开始,目前学习到迭代器模式一、设计模式分类根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文...

2019-01-08 11:44:32 114

转载 ADO.NET

一、简单介绍ADO.NETSystem.Data:DataTable,DataSet,DataRow,DataColumn,DataRelation,ConstraintSystem.Data.Common(各种数据访问类的基类和接口):DataColumnMapping,DataTableMappingSystem.Data.SqlClient(对Sql Server进行操作的数据访

2014-05-09 14:45:45 283

转载 TCP/IP协议栈

TCP/IP协议其实是一组协议,它包括许多协议,组成了TCP/IP协议栈。但传输控制协议(TCP)和网际协议(IP)是其中最重要的,确保数据完整传输的两个协议。  TCP/IP协议的基本传输单位是数据包,TCP/IP协议负责把数据分成若干数据包,并给每个数据包加上包头,每个数据包的包头再加上接收端的地址。如果传输过程中出现数据丢失、数据失真等情况,TCP/IP协议会自动要求数据重新传输,并重新

2014-05-02 11:15:41 595

转载 <转>extern的详解

1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。      也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而

2014-04-30 20:55:15 326

原创 各种数据结构性能的比较

数据结构包括数组、链表、栈、二叉树、哈希表等等

2014-04-30 14:06:46 7768 3

转载 OpenFlow交换机 之 OpenFlow协议

OpenFlow协议是用来描述控制器和OpenFlow交换机之间交互所用的信息的接口标准,其核心是OpenFlow协议信息的集合。OpenFlow协议支持三种消息类型:controller-to-switch、asynchronous(异步)和symmetric(对称),而每一类消息又可以拥有多个子消息类型。其中,controller-to-switch消息由控制器发起,用来管理或获取OpenFl

2014-04-30 13:21:18 13238

转载 OpenFlow交换机 之 流表

所谓流表,其实可被视作是OpenFlow对网络设备的数据转发功能的一种抽象。在传统网络设备中,交换机和路由器的数据转发需要依赖设备中保存的二层MAC地址转发表或者三层IP地址路由表,而OpenFlow交换机中使用的流表也是如此,不过在它的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。流表中每个表项的结构如图2-3所示。 图2-3  OpenFlow

2014-04-30 13:13:41 22063

转载 string函数

string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string

2014-04-28 14:18:36 443

转载

转载地址:http://blog.chinaunix.net/uid-26548237-id-3483650.html一、图的存储结构1.1 邻接矩阵    图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息。    设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:       

2014-04-23 15:13:27 477

转载 <转>智能指针

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235     智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对

2014-04-21 13:19:43 342

转载 初始化列表

何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的克访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ;

2014-04-14 13:46:54 285

转载 <转> explicit

按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有

2014-04-14 13:30:55 228

SSB课程设计报告

matlab的SSB课程设计报告。包括PCM编码,信道传输,SSB编码等

2011-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除