一、Mybatis插件机制 mybatis通过插件(Interceptor)对相关目标对象(四大对象)进行动态代理,完成相关数据的变更,从而提供更多功能。 在这里不介绍其内部实现,仅仅介绍MP所提供的相关插件。 二、MP插件介绍 2.1、分页插件 好像MP已经在BaseMapper中提供了相关分页方 ...
分类:
其他好文 时间:
2020-01-09 22:48:47
阅读次数:
177
先看一下大体结构 ThreadLocal(线程本地变量),作用是让每个线程都维护一份独立的变量副本,解决了变量并发访问冲突的问题。表面上看,变量是存储在ThreadLocal里面的,实则不然:1. ThreadLocal只是个“工具类”,对外暴露了get、set、remove接口;2. 内部实现:变 ...
分类:
其他好文 时间:
2020-01-06 17:44:24
阅读次数:
80
这是java面对对象里的三大特性之一,今天我们讲的就是多态, 理解java的三大特性——多态对象是类的实例,而类是对象的抽象化: 面向对象编程有三大特性:封装、继承、多态。 封装:隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露 ...
分类:
其他好文 时间:
2020-01-02 22:10:58
阅读次数:
84
deque是双端数组。 deque和vector的区别: vector对于头部的插入和删除效率低,数据量越大,效率越低; deque相对于而言,对头部的插入和删除比vector快; vector访问元素时速度比deque快,这和两者的内部实现有关; deque内部工作原理: deque内部有个中控器 ...
分类:
编程语言 时间:
2019-12-28 15:59:17
阅读次数:
82
/** * @param filePath * 源图片路径 * @param markContent * 图片中添加内容 * @param outPath * 输出图片路径 字体颜色等在函数内部实现的 * * @param */ // 给jpg添加文字 public boolean createSt ...
分类:
编程语言 时间:
2019-12-22 12:59:27
阅读次数:
126
Python的迭代器集成在语言之中,迭代器和生成器是Python中很重要的用法,本文将 深入了解迭代器和生成器 。 首先,我们都知道for循环是一个基础迭代操作,大多数的容器对象都可以使用for循环,那么,我们从 for循环开始 : 你有没有想过,for循环的内部实现原理呢? 其实,在Python中 ...
分类:
编程语言 时间:
2019-12-22 00:37:58
阅读次数:
77
1.定义: 添加枚举类元素的专用集合类 2.与其他集合类区别: EnumSet内部实现不使用常见的数据结构,比如数组(ArrayList),链表(LinkedList),哈系表(HashMap、Hashtable、HashSet),红黑树(TreeMap、TreeSet)而是使用位运算完成集合的基本 ...
分类:
编程语言 时间:
2019-12-21 20:55:03
阅读次数:
98
【1】Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写 ...
分类:
编程语言 时间:
2019-12-20 20:30:58
阅读次数:
102
一、 实验目的 1、 掌握三层交换机之间通过OSPF协议实现网段互通的配置方法。 2、 理解RIP协议和OSPF协议内部实现的不同点 二、 应用环境 当两台三层交换机级联时,为了保证每台交换机上所连接的网段可以和另一台交换机上连接的网段互相通信,使用OSPF协议可以动态学习路由。 三、 实验拓扑 四 ...
分类:
其他好文 时间:
2019-12-20 16:59:59
阅读次数:
307
简介Vector的内部实现类似于ArrayList,Vector也是基于一个容量能够动态增长的数组来实现的,该类是JDK1.0版本添加的类,它的很多实现方法都加入了同步语句,因此是线程安全的(但Vector其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全,我们后面会有例子来说明这一点) ...
分类:
编程语言 时间:
2019-12-17 22:25:41
阅读次数:
101