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 ...
随机推荐
- codeblocks调试
1.Next instruction 逐指令 (有可能一行内有多条指令) (Alt+F7) Next line 逐行(有可能一条指令分成多行) (F7) Next instruction: -> ...
- maven pom 中的 build——resources 标签 mybatis加载mapper类及.xml文件
转: maven 理解 2017年12月18日 15:34:31 feicongcong 阅读数:5658 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
- 将句子表示为向量(下):基于监督学习的句子表示学习(sentence embedding)
1. 引言 上一篇介绍了如何用无监督方法来训练sentence embedding,本文将介绍如何利用监督学习训练句子编码器从而获取sentence embedding,包括利用释义数据库PPDB.自 ...
- oracle之回滚数据表 笔记
alter table [tableName] enable row movement;flashback table [tableName] to timestamp to_timestamp('2 ...
- yearProgress.vue
<template> <div class="progressbar"> <el-progress :text-inside="true&q ...
- Solr记录-solr文档xml
Solr添加文档(XML) 在上一章中,我们学习解释了如何向Solr中添加JSON和.CSV文件格式的数据.在本章中,将演示如何使用XML文档格式在Apache Solr索引中添加数据. 示例数据 假 ...
- Github 开源项目(二) jsmpeg-vnc
参考文章:http://blog.csdn.net/qq_28877125/article/details/70141713 适用于Windows的低延迟,高帧率屏幕共享服务器以及用于浏览器的客户端 ...
- JAVA io 包小结
IO 无非读写 I --> Reader O--> Writer 为了方便字符 或者 文本文件的 操作创造出了 字符流 尤其是 缓冲字符输入输出流(BufferedReader,Buff ...
- 怎样提高WebService的性能
服务器端WebService程序: using System.Runtime.Serialization.Formatters.Binary; using System.IO; using Syste ...
- WordPress中使用Markdown和Syntax Highlighter
下载安装插件 在wordpress插件中安装WP Code Prettify. PHP Markdown Extra 下载Extra,并上传安装到wordpress. Code Prettify th ...