摘要:
### 基本类型处理器 configuration对象初始化的时候会创建TypeHandlerRegistry,构造方法里指定了默认类型处理。基本类型常见的数据库类型都又对应的解析器。 TypeHandlerRegistry类typeHandlerMap属性存储了javaType和类型TypeHan 阅读全文
摘要:
### 插件的使用 1、在配置文件配置plugins ... 2、拦截器开发 实现Interceptor接口,在对应的拦截器类上配置注解,指定拦截方法 @Intercepts( @Signature(type = Executor.class,method = "query",args = {Map 阅读全文
摘要:
### 一级缓存 一级缓存是同一session内缓存,随着session的关闭而被清除。 先看下效果 String resource = "mybatis-config.xml"; SqlSessionFactory sessionFactory = new SqlSessionFactoryBui 阅读全文
摘要:
### 配置解析 首先来看一个简单使用例子 String resource = "mybatis-config.xml"; //读取配置,创建sessionFactory SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder( 阅读全文
摘要:
###动态代理 代理比较好理解,和现实生活中意思一样。就是我要干一件事情,可以通过代理人或代理平台进行完成,不需要直接和服务方接触。 又或者计算机网络上说的代理。为什么叫动态代理? 这里回到java程序上,是因为在运行时可以动态的创建接口的实现,通过java的反射进行实现。依赖三个关键类:Proxy 阅读全文
摘要:
在应用或接口开发中往往需要对一次请求的入参和出参进行完整的记录,有一些操作可能不仅需要文件记录,可能还需要存库。在不侵入业务代码情况下,怎么做呢?很正常的会想到两个东西过滤器,AOP切面。 #### 过滤器 我们本身就需要对请求进行一些默认的过滤器配置,如编码过滤器,XSS过滤器。针对输入日志spr 阅读全文
摘要:
### 为什么使线程池 java的线程对应是操作系统级别的线程调用,不断的或无限制的启停线程是对系统资源的一种消耗也会增加系统的不稳定性。同时很多个线程间的运行上下文切换也会降低实际系统的性能。在对一些大量耗时较小的任务不断的启停线程会降低性能。这个时候就比较适合使用线程池。线程池在池中维护一定的工 阅读全文
摘要:
### 什么是AOS AQS抽象队列同步器(AbstractQueuedSynchronizer)。是java juc里提供的一个实现锁同步机制的框架。它提供同步状态、阻塞和唤醒线程函数以及队列模型的原子管理。大多数同步类(Lock、Semaphore、ReentrantLock等)都是基于AQS实 阅读全文
摘要:
Unsafe类是JRE提供的一个工具类,在sun.misc包下。该类提供了一些计算机底层操作工具方法。如直接内存操作,类似指针形式的内存访问,线程调度等。提高了java执行效率,但是如果使用不当,同时也带来了一定的风险。这个类被设计主要供java平台类库使用(像JUC包中大量使用该类),不是供实际应 阅读全文
摘要:
#### 作用 ThreadLocal用来每个线程存储自己一份,在整个线程声明周期都可以访问到。 #### 基本使用 三个基本方法set/get/remove。set初始时候放值,get获取设置的值,remove清除设置的值。 ```java ThreadLocal threadLocal = ne 阅读全文