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 ...
随机推荐
- 《剑指offer》— JavaScript(30)连续子数组的最大和
连续子数组的最大和 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好 ...
- Hadoop生态圈-Kafka常用命令总结
Hadoop生态圈-Kafka常用命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.管理Kafka服务的命令 1>.开启kafka服务 [yinzhengjie@s ...
- CSS 编码中超级有用的工具集合
当你开发网站和 Web 应用时,使用合适的工具可以节省大量的时间.本文我将收集一些非常有用的 CSS 编码工具,希望对你有帮助. Pure CSS Pure 是来自雅虎的 CSS 框架,使用 Norm ...
- Integer中1000==1000为false而100==100为true
查看Integer.java类,会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象.如果在这个区间内,他就会把变量当做一个变量,放到内存中:但如 ...
- 360 / 小米 / 百度 随身wifi Ubuntu 下作为无线网卡使用
这篇文章说得其实很好了,http://www.freemindworld.com/blog/2013/131010_360_wifi_in_linux.shtml 不过因为专利问题,官网貌似不直接提供 ...
- requests(三):json请求中中文乱码处理
最近收到一个问题:json格式请求数据中有中文,导致服务端签名失败. 问题详情: 一位同学在发送json格式的post请求时,请求数据中有中文内容: {"inputCodes":[ ...
- linux 图形配置网络
命令:setup 打开网络等系统信息的图形配置 yyp复制 vi /etc/sysconfig/network-scripts/ifcfg-eth0 配置网络参数 重启网卡:/etc/init.d/n ...
- linux根据端口查找进程【原创】
如转载请注明地址 1.利用lsof -i:端口号 lsof -i:端口号 [root@01 ~]# lsof -i:8097COMMAND PID USER FD TYPE DEVICE SIZE/O ...
- 使用eclipse为Servlet在Tomcat中的部署方法
一:下载安装jdk,tomcat,eclipse: 使用eclipse建立动态web项目lcj,更改编译文件目录,方法如下: 右键点击→工程名称→属性(Properties)或(Building Pa ...
- js和css实现内容超过边框,就自动省略,自动添加title
在项目汇总,我们有这样的需求,如果内容多了,就自动省略,自动添加title 这个需要判断判断俩个值,一个是width(),一个是scrollWidth, 在div中,如果内容没有超过边框,这俩个值是一 ...