TreeSet源码解析笔记
摘要:定义: TreeSet是一个有序的集合,它的作用是提供有序的Set集合。它继承了AbstractSet抽象类,实现了NavigableSet<E>,Cloneable,Serializable接口。TreeSet是基于TreeMap实现的,TreeSet的元素支持2种排序方式:自然排序或者根据提供的
阅读全文
posted @
2017-02-27 12:02
断剑重铸之时
阅读(1013)
推荐(0) 编辑
TreeMap源码解析笔记
摘要:常见的数据结构有数组、链表,还有一种结构也很常见,那就是树。前面介绍的集合类有基于数组的ArrayList,有基于链表的LinkedList,还有链表和数组结合的HashMap,今天介绍基于树的TreeMap; TreeMap基于红黑树(点击查看树、红黑树相关内容)实现。查看“键”或“键值对”时,它
阅读全文
posted @
2017-02-23 16:22
断剑重铸之时
阅读(120)
推荐(0) 编辑
HashSet源码解析笔记
摘要:HashSet是基于HashMap实现的。HashSet底层采用HashMap来保存元素,因此HashSet底层其实比较简单。 HashSet是Set接口典型实现,它按照Hash算法来存储集合中的元素,具有很好的存取和查找性能。主要具有以下特点: 不保证set的迭代顺序 HashSet不是同步的,如
阅读全文
posted @
2017-02-23 15:30
断剑重铸之时
阅读(123)
推荐(0) 编辑
红黑树
摘要:由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树: 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意结点的左
阅读全文
posted @
2017-02-23 11:03
断剑重铸之时
阅读(146)
推荐(0) 编辑
HashMap源码解析笔记
摘要:首先简单介绍下HashMap: 1.HashMap有三种数据结构:数组,链表,红黑树。 2.HashMap是非线程安全的 3.HashMap存储的内容是键值对(key-value)映射,key、value都可以为null。 4.HashMap中的映射不是有序的。 5.实现了Cloneable接口,能
阅读全文
posted @
2017-02-21 11:06
断剑重铸之时
阅读(194)
推荐(0) 编辑
LinkedList底层代码解析笔记
摘要:LinkedList是属于Sequence List,故遍历是用迭代器更快; LinkedList继承自AbstractSequenceList、实现了List及Deque接口。其实AbstractSequenceList已经实现了List接口,这里标注出List只是更加清晰而已。AbstractS
阅读全文
posted @
2017-02-20 16:27
断剑重铸之时
阅读(211)
推荐(0) 编辑
ArrayList底层代码解析笔记
摘要:通过底层代码可以学习到很多东西: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 由此可见,ArrayList继承自
阅读全文
posted @
2017-02-20 12:03
断剑重铸之时
阅读(264)
推荐(0) 编辑
java的动态代理机制
摘要:Spring的AOP的原理就是java的动态代理机制; 在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler(Interface)、另一个则是 Proxy(Class),这一个类和接口是实现我们动态代理所必须用到的。 每一个动态代理类都必须要实现Invocat
阅读全文
posted @
2017-02-15 18:00
断剑重铸之时
阅读(121)
推荐(0) 编辑
mongodb远程数据库的连接以及备份导入导出数据
摘要:环境win10; 运行cmd cd到目录mongodb的bin目录: 连接远程mongodb: 连接命令:mongo -u username -p pwd host:post/database(数据库名) 当该用户有相应权限时,可以查看collection==>查看集合命令:show collect
阅读全文
posted @
2017-02-08 17:22
断剑重铸之时
阅读(10080)
推荐(0) 编辑
mybatis的实际应用
摘要:简单基本的增删改查语句就不说了,直接从一对一,一对多的关系开始: association联合:联合元素用来处理“一对一”的关系; collection聚集:聚集元素用来处理“一对多”的关系; MyBatis 可以用两种方式加载: 1. select: 执行一个其它映射的SQL 语句返回一个Java实
阅读全文
posted @
2017-02-07 14:17
断剑重铸之时
阅读(177)
推荐(0) 编辑
mysql索引
摘要:MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。 而BTree索引是平常使用mysql是主要打交道的索引; 索引是高效帮助获取数据的数据结构: 最基本的查询算法当然是顺序查找(linear search
阅读全文
posted @
2017-02-06 15:14
断剑重铸之时
阅读(79)
推荐(0) 编辑
jvm内存模型
摘要:内存空间(Running Data Area)中可以按照是否线程共享分成两块; 线程共享的是方法区(Method Area)和堆(heap), 线程独享的是Java栈(Java Stack),本地方法栈(Native Method Stack)和PC寄存器(Program Counter Regis
阅读全文
posted @
2017-02-06 11:04
断剑重铸之时
阅读(103)
推荐(0) 编辑