摘要:
Spring MVC中的Servlet Spring MVC中Servlet一共有三个层次,分别是HttpServletBean、FrameworkServlet和DispatcherServlet。HttpServletBean直接继承自Java的HttpServlet,其作用是将Servlet中 阅读全文
摘要:
概念 数据结构解决数据怎么存放,不同的数据结构插入、查询的速度不一样算法操作数据结构里的数据,有插入、查找、删除、迭代、排序等操作 常识 length返回的是数组的容量,size返回的是元素个数 旧框架 Vector、Stack、HashTable都兼容于类集框架 List List的实现类:Arr 阅读全文
摘要:
Collections 是一个操作 Set、List 和 Map 等集合的工具类。 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 Collections 类中提供了多个 synchronizedXx 阅读全文
摘要:
1、带符号右移 >> 二进制数 16 8 4 2 1,每个高位是低位的二倍 System.out.println(20 >> 1); // 结果是20的二分之一,10 阅读全文
摘要:
实现HttpServlet的Web应用 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided< 阅读全文
摘要:
spring获取Environment <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.16.RELEASE</version> </depen 阅读全文
摘要:
1、servlet间的请求转发 <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scop 阅读全文
摘要:
AOP概念 AOP即面向切面编程,指把不应该放在业务逻辑里的横切关注点抽取出来封装到切面类的方法里,当程序运行时再把这些横切关注点织入到一个或多个连接点。 AOP作用 业务逻辑并不知道切面的存在,也不必不用去关心切面,实现了业务逻辑和横切关注点的分离 AOP术语 横切关注点是散布应用多处的功能;横切 阅读全文
摘要:
JDK事件 java通过java.util.EventObject类和java.util.EventListener接口描述事件和监听器 事件源,事件的产生者,任何一个EventObject都必须拥有一个事件源。事件监听器注册表,保存事件监听器的地方。事件广播器,把事件通知给事件监听器。事件源、事件 阅读全文
摘要:
il8n国际化 支持多国语言的web应用,根据客户端系统的语言类型返回对应的界面 方案 为每种语言提供一套相应的资源文件,并以规范化命名的方式保存在特定的目录中,由系统自动根据客户端语言选择适合的资源文件返回 JDK对国际化的支持 1、国际化信息,也称为本地化信息,一般需要两个条件可以确定,即语言类 阅读全文
摘要:
引用Bean的属性值 从Spring3.0开始,可以通过#{beanName.beanProp}的方式方便地引用另一个bean的属性值1、不需要使用PropertyPlaceholderConfigurer。2、这里是井号 demo 1、xml配置实现 package test; import or 阅读全文
摘要:
一、PropertyPlaceholderConfigurer spring提供的PropertyPlaceholderConfigurer实现类能够使Bean在配置时引用外部属性文件。 PropertyPlaceholderConfigurer实现了BeanFactoryPostProcessor 阅读全文
摘要:
spring编码方式实例化bean 一般情况下,Spring通过反射机制利用<bean>的class属性指定的实现类实例化bean,也可以通过java类或注解的方式实例化bean。 Spring还也提供了编码方式实例化bean。Spring为此提供了一个org.springframework.bea 阅读全文
摘要:
源码 阅读全文
摘要:
AbstractApplicationContext Spring的AbstractApplicationContext是ApplicationContext的抽象实现类,该抽象类的refresh方法定义了spring容器在加载配置文件后的各项处理过程 public void refresh() t 阅读全文
摘要:
spring bean 的生命周期 spring BeanFactory及ApplicationContext在读取配置文件后、实例化bean前后、设置bean的属性前后这些点都可以通过实现接口添加我们自己的逻辑 spring BeanFactory中Bean的生命周期 demo1 <depende 阅读全文
摘要:
1、BeanFactory接口 package org.springframework.beans.factory; import org.springframework.beans.BeansException; import org.springframework.core.Resolvable 阅读全文
摘要:
pom.xml Resource接口 JDK没有提供从Web容器上下文及classpath中获取资源的操作类。鉴于此,spring设计了Resource接口,并使用策略模式提供了一些实现类。其实现类ServletContextResource从Web应用根目录下访问资源、ClassPathResou 阅读全文
摘要:
1、工厂方法注入 工厂方法也是控制反转和单实例设计思想的主要实现方法。由于springIoC容器以框架的方式提供工厂方法的功能,因此spring工厂方法注入只在使用一些第三方类库会使用到。 a.非静态工厂方法有些工厂方法是是非静态的,必须实现化工厂类后才可以调用工厂方法。<bean id="carF 阅读全文
摘要:
思想 Spring IOC,即控制反转,借鉴了工厂模式的思想。 依赖倒置原则要求依赖抽象不要依赖具体;但在一个类里要创建一个对象时,new 关键字后面一定要依赖一个具体的实现类。 这时,我们把创建对象的语句封装出来,封装到工厂类里是工厂模式,封装到配置文件是就是Spring的做法。 叫法 DI,De 阅读全文
摘要:
ConcurrentHashMap 是一个 Segment 数组,Segment 通过继承 ReentrantLock 来进行加锁,所以每次需要加锁的操作锁住的是一个 segment,这样只要保证每个 Segment 是线程安全的,也就实现了全局的线程安全。 阅读全文
摘要:
LinkedHashMap既是一个HashMap,也是一个链表 阅读全文
摘要:
HashSet源码分析——HashSet由哈希表实现 阅读全文
摘要:
HashMap源码分析 阅读全文
摘要:
Hashtable也采用的链地址法 Dictionary类 Hashtable的get/put方法是从字典来的,虽然它也实现了Map接口,Map接口也有get/put方法 阅读全文
摘要:
哈希表 使用哈希函数确定下标以插入数据的数组叫哈希表 哈希化 通过哈希函数把一个数字从大的范围转化为小范围的数字叫哈希化 把关键字转化为数组下标 1、关键字不需要转换,比如员工编号从0到1000,关键字员工编号可以直接做为数组下标 2、关键字需要转换,把一部英文字典装入哈希表,a是1,b是2,c是3 阅读全文
摘要:
TreeSet——底层是TreeMap 阅读全文
摘要:
TreeMap——由红黑树实现 阅读全文
摘要:
索引 索引是由关键字-块号码对组成的按关键字排序的列表或树 使用索引 使用有序的索引连接文件记录 文件里的记录按照任意顺序排列,比如可以按插入时间排序 优点 索引比文件中所有记录小得多,甚至可以完全放在内存里,这样当数据库程序启动后就把索引读到内存中来;对于数据库来说,索引文件使用B+树保存 查询快 阅读全文
摘要:
B-树 用来在外部存储中组织数据。 严格来说,2-3树、2-3-4树都是B-树的特例;但B树更强调它的节点有很多个子节点,B-树中的节点可以有几十或几百个子节点。 B-树也可以是查找树,也可以不是查找树,这里涉及的都是查找树。 5阶的B-树指这个树的非叶节点最多可以有5个子节点。 B-树应用于硬盘 阅读全文
摘要:
硬盘存储速度 1、内存,使用电子方式工作,几微秒(一秒的百万分之一)就可以访问一个字节。 2、外存 数据在磁盘的圆形磁道上排列,磁盘的磁道类似老式的留声机轨道。 (1)、读写头移动到正确的磁道,这个机械运动需要几毫秒(一秒的千分之一)。 (2)、读写头等待磁盘旋转到正确的位置,即使磁盘每分钟旋转10 阅读全文
摘要:
2-3树 2-3树在历史上很重要,并且在很多应用程序中还在使用。 2-3树和2-3-4树 和2-3-4树相比,除了子节点数不一样外,其它的都完全一样。 插入 在查找插入位置的过程中不理会遇到的节点是不是满的,顺着树找到要插入的叶节点,如果叶节点不满,就插入新值。 分裂节点 如果叶节点满了,分裂叶节点 阅读全文
摘要:
多叉树 非叶节点的子节点可以多于两个 2-3-4树 2-3-4树的非叶节点可能含有两个、三个或四个子节点,所以叫2-3-4树;2-3-4树的非叶节点最多可以有4个子节点,所以又叫4叉树。有两个子节点的节点叫2-节点,有三个子节点的节点叫3-节点,有四个子节点的节点叫4-节点。 对非叶节点来说,节点有 阅读全文
摘要:
红黑树 红黑树是特殊的二叉搜索树,它解决了二叉树的非平衡问题。 红黑树的平衡性 第一个图根节点的右子树的高度为2,左子树的高度为4;第二个图根节点的右子树的高度为3,左子树的高度为6;上面两个图是一个正确的红黑树——红黑树保证子树的高度差不超过两倍。 红黑树的层数最多是2*log2(N+1) 红黑规 阅读全文
摘要:
平衡树 平衡树有AVL树、红黑树、2-3树、2-3-4树 AVL树 AVL树是最早的一种平衡树,它以发明者的名字命名;AVL是一种特殊的二叉搜索树,平移保证二叉搜索树的正确。 特征 在AVL树中节点的左子树和右子树的高度差不会大于1 实现 在AVL树中每个节点都存储着一个额外的数据,它的左子树和右子 阅读全文
摘要:
树 结合了有序数组和链表的优点。在树中查询和在有序数组中一样快;插入和删除和链表一样快。 遍历相对比较慢一点。 从根到其它任何一个节点有且只有一条路径,比如下面的图示不是树: 多路树 每个节点的子节点可以多于两个 二叉树 每个节点的子节点最多有两个 二叉搜索树 一个节点的左子节点的数小于该节点,右子 阅读全文
摘要:
概述 表达式树的特点:叶节点是操作数,其他节点为操作符。由于一般的操作符都是二元的,所以表达式树一般都是二叉树。 根据后缀表达式"ab+cde+**"建立一颗树 文字描述: 如同后缀表达式求值一样,逐个读取后缀表达式的每一个符号,如果遇到操作数,建立一个节点把操作数的值加入这个节点,并把节点入栈;如 阅读全文
摘要:
整体把握 数组、链表、树等等都适用于数据库应用中作数据记录,常用来记录对应于现实世界的数据;而栈、队列及优先级队列更多地是作为程序员的工具来使用(用最合适的工具干活),以简化某些程序操作。 栈、队列及优先级队列都可以使用数组链表来实现,优先级队列通常使用堆实现。 在栈、队列及优先级队列中,访问是受限 阅读全文