Java集合&Spring源码浅读
记录自己现在知道的,以后了解了更多的话,再继续补上来
Java集合类
Collection 接口
说明:是List,set 的父类。定义了集合初始模样。集合只存储对象。
Jdk8文档,内部方法定义有:

List接口
说明:有序集合,可重复,继承Collection。常用实现类ArrayList,LinkedLiist。不常用但是得知道得Vector,Stack
ArrayList: 数组集合 查询快 ,增删慢
LinkedList: 链表集合 查询慢 增删快
vactor 线程安全 stack
Set接口
说明:无序集合,不可重复,继承Collection。常用实现类 HashSet,TreeSet ,LinkedHashSet。
HashSet : 无序不重复 内部实现原理 参考HashMap,相同的Value,不同的Key
LinkedHashSet :双向链表。内部实现原理参考LinkedHashMap,按照插入顺序排序。
TreeSet :红黑树。内部实现原来参考TreeMap。
Map接口
说明: 不能重复 key-value组成的entry对象 内部数据结构为数组链表 通过key的hashCode 进行hash算法 确定该entry放这个数组的哪里 如果该位置上有entry在上面的话 用equals 判断内容是否相等 如果不相等 该位置变成链表形式 该entry防止链表头部(醒来的用到的频率更高) 常用实现类:HashMap LinkedHashMap TreeMap hashTable
HashMap :不可重复,无序,数组链表 entry对象为内部数据结构
HashTable :线程安全 没具体研究过 sycn 修饰整个方法
LinkHashMap: 链表Hash 有序 按照插入顺序排序
TreeMap: 红黑树 Hash 有序 实现了SortMap 按照key大小排序 也可以定制排序规则
queue
queue 队列
spring源码深度解析总结
Spring IOC容器的基本实现
- 将资源文件 也就是XML文件用ResourceLoader 读取成Resource资源,
- 再将Resource用DocumentLoader读取Resource变成Document。
- 然后用BeanDoucmentReader进行Document读取,属性的解析变成Bean,
- 注册到IOC容器上。
XML文件验证
XML文件验证分为DTD ,XSD
DTD XML文件规则的定义 spring自定了DTD
XTD DTD+XML 用Spring定义的规则 定义XML文件 xsd: 命名空间
xsd:scamalLocation = 文件规则存储路径
Java集合&Spring源码浅读的更多相关文章
- 【java集合框架源码剖析系列】java源码剖析之TreeSet
本博客将从源码的角度带领大家学习TreeSet相关的知识. 一TreeSet类的定义: public class TreeSet<E> extends AbstractSet<E&g ...
- 【java集合框架源码剖析系列】java源码剖析之HashSet
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于HashSet的知识. 一HashSet的定义: public class HashSet&l ...
- 【java集合框架源码剖析系列】java源码剖析之TreeMap
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于TreeMap的知识. 一TreeMap的定义: public class TreeMap&l ...
- 【java集合框架源码剖析系列】java源码剖析之ArrayList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...
- 【java集合框架源码剖析系列】java源码剖析之LinkedList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 在实际项目中LinkedList也是使用频率非常高的一种集合,本博客将从源码角度带领大家学习关于LinkedList的知识. ...
- 【java集合框架源码剖析系列】java源码剖析之HashMap
前言:之所以打算写java集合框架源码剖析系列博客是因为自己反思了一下阿里内推一面的失败(估计没过,因为写此博客已距阿里巴巴一面一个星期),当时面试完之后感觉自己回答的挺好的,而且据面试官最后说的这几 ...
- Java集合框架源码(二)——hashSet
注:本人的源码基于JDK1.8.0,JDK的版本可以在命令行模式下通过java -version命令查看. 在前面的博文(Java集合框架源码(一)——hashMap)中我们详细讲了HashMap的原 ...
- Spark 源码浅读-SparkSubmit
Spark 源码浅读-任务提交SparkSubmit main方法 main方法主要用于初始化日志,然后接着调用doSubmit方法. override def main(args: Array[St ...
- Java集合-ArrayList源码解析-JDK1.8
◆ ArrayList简介 ◆ ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAcc ...
随机推荐
- 24. Swap Nodes in Pairs(M);25. Reverse Nodes in k-Group(H)
24. Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For ...
- python---django中orm的使用(3)admin配置与使用
新建项目,并开启 python manage.py runserver 访问admin页面 http://127.0.0.1:8080/admin 补充:若是发现admin页面样式丢失:可能是因为在s ...
- Codeforces 666 B. World Tour
http://codeforces.com/problemset/problem/666/B 题意: 给定一张边权均为1的有向图,求四个不同的点A,B,C,D,使得dis[A][B]+dis[B][C ...
- SQL语句(十一)函数查询
(十一)函数查询 1. 聚合函数 对一组值进行计算,得到一个返回值 SUM(), 求和 AVG(), 求平均 MIN(), 求最小 MAX(), 求最大 COUNT(), 计数,即个数 --例1 求所 ...
- info replication
主Redis设置值:redis-cli -h 192.168.18.121 -p 63800 -a tinywan123456 登陆从1:redis-cli -h 192.168.18.121 -p ...
- 干货:制作科研slide简明规范
- js调试系列: 控制台命令行API
js调试系列目录: - 上次初步介绍了什么是控制台,以及简单的 console.log 输出信息.最后还有两个小问题,我们就当回顾,来看下怎么操作吧. 先打开百度,然后按 F12 打开后,如果不是 C ...
- Linux - 磁盘操作
Linux 磁盘常见操作 : df -Ph # 查看硬盘容量 df -T # 查看磁盘分区格式 df -i # 查看inode节点 如果inode用满后无法创建文件 du -h 目录 # 检测目录下所 ...
- checkbox判断不为空
checkbox不为空 html页面: @foreach($seals as $v) <input type="checkbox" name="seal_id[]& ...
- xml json
简单概括的话就是,xml本身是一种格式规范,是一种包含了数据以及数据说明的文本格式规范. 比如,我们要给对方传输一段数据,数据内容是“too young,too simple,sometimes na ...