- 博客(29)
- 收藏
- 关注
转载 排序-归并排序(Merge Sort)
描述归并排序是将一个大的无序序列,可以先将它分成两半分别排序(递归地),然后将结果归并起来,最终将整个无序序列排序成有序序列。归并排序能够将长度为N的序列排序所需时间和NlongN成正比,归并排序的缺点是需要花费额外和N成正比的空间。归并排序是一种渐进最优的基于比较排序的算法。归并排序使用...
2018-10-16 23:18:00 191
转载 排序-希尔排序(Shell Sort)
描述希尔排序的思想是基于插入排序,在希尔排序中使得数组中任意间隔为h的元素都是有序的,这样的数组被称为h有序数组。在排序时,如果h很大,就可以将元素移动到很远,为实现更小的h有序创造方便。最后h每次都会减小,直到h=1时,整个数组也就排序了。为了更好的理解h数组,看下图:原理假设有N个...
2018-10-16 23:17:00 274
转载 排序-冒泡排序(Bubble Sort)
描述冒泡排序(Bubble Sort)它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。原理从后往前比较相邻的元素,如果第一比第二个大,就交换他们两个;针对所有的元素(除最后一个...
2018-10-11 00:47:00 187
转载 排序-插入排序(Insertion Sort)
描述插入排序是一种简单的排序方法,其基本操作是将后续元素插入到已排好的有序列表中,从而得到一个新的、记录数量增1的有序表。当所有元素都被插入时,整个序列排序完成。原理假设有一组无序序列 R1, R2, ... , Rn。将第一个元素视为元素已排序的有序序列。再依次把 R2, R3,...
2018-10-11 00:18:00 341
转载 排序-选择排序(Selection Sort)
描述选择排序是一种简单的排序方法,每次从序列元素中选出最小的一个,顺序放在已排序的序列末尾,直到全部排序结束为止。原理从序列(N个元素)中找出最小元素,和第一个元素交换;从剩下的序列中找出最小元素,和第二个元素交换;重复(1)、(2)步,直到第N个元素被处理,排序结束。下面图中...
2018-10-10 19:54:00 192
转载 Mybatis源码分析(5) -- StatementHandler分析
Mybatis源码分析(5) -- StatementHandler分析这一篇我们要分析一下StamentHandler的功能,在前面分析Executor的时候就提到过StatementHandler,Executor并没有真正的去执行数据库操作,而是交由StatementHanlder来处...
2018-02-27 22:57:00 168
转载 Mybatis源码分析(4) -- Executor分析
Mybatis源码分析(4) -- Executor分析这一篇我们要分析一下Executor的功能,先看看Executor接口提供了那些功能方法:public interface Executor { ResultHandler NO_RESULT_HANDLER = null; ...
2018-02-27 18:13:00 285
转载 Mybatis源码分析(3) -- Mapper文件解析
Mybatis源码分析(3) -- Mapper文件解析前面我们分析到<mappers>的解析最终是由XMLMapperBuilder和MapperAnnotationBuilder解析,XMLMapperBuilder用于解析xml配置文件,MapperAnnotationBu...
2018-02-27 18:03:00 263
转载 Mybatis源码分析(2) -- Configuration解析
Mybatis源码分析(2) -- Configuration解析前面分析了SqlSession的创建,SqlSession使用了默认实现DefaultSqlSession的构造方法DefaultSqlSession(Configuration configuration, Executor...
2018-02-27 17:14:00 240
转载 Mybatis源码分析(1) -- SqlSession的创建
Mybatis源码分析(1) -- SqlSession的创建我们先回顾一下,在前面的示例中是怎么获取SqlSession,然后再分析源码。 try { //资源文件的名称 String resource = "configuration.xml"; //使用...
2018-02-27 16:46:00 178
转载 Mybatis基础(2) -- Xml配置文件
Mybatis基础(2) -- Xml配置文件在上一篇简单的示例中,不管是用用XxxMapper.xml和XxxMapper.java类作为sql语句的映射,都会用到MyBatis的基本配置文件configuration.xml来设置数据源和事务。MyBatis提供的配置文件可以设置的内容很...
2018-02-27 16:29:00 121
转载 Mybatis基础(1) -- 入门示例
Mybatis基础(1) -- 入门示例MyBatis作为一个优秀的持久化框架,支持普通SQL查询、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java POJOs映射成数据库...
2018-02-26 18:40:00 133
转载 Spring Cache 源码分析 (4) - 缓存拦截器( CacheInterceptor)
Spring Cache 源码分析 (4) - 缓存拦截器( CacheInterceptor)缓存拦截器的实现这一篇我们讲讲SpringCache对方法的拦截器实现,也就是CacheInterceptor。在使用SpringCache我们会比较关注的问题,为什么对一个方法使用@Cache...
2018-02-26 18:05:00 650
转载 SpringCache源码分析(3) - 注解解析器
SpringCache源码分析(3) - 注解解析器从上一篇中我们提及到,既然方法使用了@CachePut、@Cacheable、@CacheEvict这些注解,那么,执行方法是怎么知道设置了哪些注解信息的呢? 下面我们分析一下注解的解析。但,在分析之前我们需要知道缓存操作封装类CacheO...
2018-02-26 18:00:00 685
转载 SpringCache源码分析(2) - 注解分析
SpringCache源码分析(2) - 注解分析在上一篇中我们讲解了CacheManager和Cache源码,学会了怎样使用注解进行缓存,但是对于@CachePut、@Cacheable、@CacheEvict这些注解没有提及到,这一篇中我们将对Spring Cache中提供的注解操作做...
2018-02-26 17:53:00 118
转载 Spring Cache源码分析(1) - CacheManager和Cache
Spring Cache源码分析(1) - CacheManager和Cache这篇作为Spring Cache源码分析的起始篇,重要在于分析CacheManager和Cache。但是,在分析CacheManager和Cache之前,还是先看一个简单的例子,这样有助于理解Spring Cac...
2018-02-26 17:24:00 324
转载 Spring Boot 源码分析(5) -- applicationContext.properties资源文件分析
Spring Boot 源码分析(5) -- applicationContext.properties资源文件分析在前面分析监听器时,我们提到过ConfigFileApplicationListener,这个监听器在Spring Boot中负责处理applicationContext.pr...
2018-02-26 17:03:00 290
转载 Spring Boot源码分析(4) -- BeanFactoryProcessor加载分析
Spring Boot源码分析(4) -- BeanFactoryProcessor加载分析在SpringApplication分析中我们谈论到,在准备好ApplicationContext上下文后,调用了refresh方法。从上面的分析中可以看到,使用的是AnnotationConfigA...
2018-02-26 16:52:00 214
转载 Spring Boot 源码分析 (3) -- BeanDefinitionLoader分析
Spring Boot 源码分析 (3) -- BeanDefinitionLoader分析在上一篇中我们分析了SpringBootApplication的启动过程,在启动过程中通过调用BeanDefinitionLoader的load()方法来加载sources资源,也就是Applica...
2018-02-26 16:05:00 2692
转载 Spring Boot 源码分析 (2) -- 初始化器和监听器
Spring Boot 源码分析 (2) -- 初始化器和监听器在SpringBootApplication分析中我们说过,ApplicationContextInitializer和ApplicationListener的获取,是从Jar包中的/META-INF/spring.facto...
2018-02-26 15:17:00 199
转载 Spring Boot 源码分析 (1) -- SpringApplication分析
Spring Boot 源码分析 (1) -- SpringApplication分析通常我们都是以如下的方式来开启一个SpringBoot应用,调用SpringApplication提供的静态方法run(Object source, String[] args)。@SpringBoot...
2018-02-26 15:04:00 102
转载 Shiro源码分析(8) - 过滤器(ShiroFilterFactoryBean)
配置说明ShiroFilterFactoryBean是Spring为Shiro框架提供的一个整合类,在项目使用过程中通常会使用如下的配置方式来处理。<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilte...
2018-02-08 18:30:00 974
转载 Shrio源码分析(7) - 安全管理器(SecurityManager)
在Shiro中SecurityManager是最核心的组件,Shiro架构的心脏,用来协调内部各安全组件,管理内部组件实例,并通过它来提供安全管理的各种服务。当Shiro与一个Subject进行交互时,实质上是幕后的SecurityManager处理所有繁重的Subject安全操作。Secu...
2018-02-06 18:41:00 212
转载 Shrio源码分析(6) - 用户主体(Subject)
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。Subject接口在Shiro中Subject表示系统进行交互的用户或某一个第三方服务,所有Subject实例都...
2018-02-06 17:45:00 615
转载 Shiro源码分析(5) - 授权器(Authorizer)
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。在Shiro中Authorizer接口用来处理用户的角色和权限控制访问操作,其接口代码如下。/** * 判断是...
2018-02-05 18:06:00 331
转载 Shrio源码分析(4) - 数据域(Realm)
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。本篇主要分析Shiro中的Realm接口。Shiro使用Realm接口作为外部数据源,主要处理认证和授权工作。Re...
2018-02-05 00:45:00 185
转载 Shiro源码分析(3) - 认证器(Authenticator)
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。Authenticator就是认证器,在Shiro中负责认证用户提交的信息,在Shiro中我们用Authentic...
2018-02-05 00:17:00 251
转载 Shiro源码分析(2) - 会话管理器(SessionManager)
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。本文对Shiro中的SessionManager进行分析,SessionManager用于管理Shiro中的Ses...
2018-02-04 21:58:00 741
转载 Shiro源码分析(1) - Shiro开篇
本文在于分析Shiro源码,对于新学习的朋友可以参考[开涛博客](http://jinnianshilongnian.iteye.com/blog/2018398)进行学习。简介SecurityManager:安全管理器,Shiro最核心组件。Shiro通过SecurityManag...
2018-02-04 20:40:00 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人