面试题
时光背后
这个作者很懒,什么都没留下…
展开
-
Mybatis持久层
1、mybatis插件机制插件MyBatis所述的插件功能,其实就是一个拦截器功能。概述1、在四大对象创建的时候,每个创建出来的对象不是直接返回的,而是通过interceptorChain.pluginAll(parameterHandler)返回的。2、pluginAll获取到所有的Interceptor(拦截器)(插件需要实现的接口),调用Interceptor.p...原创 2019-04-04 21:44:53 · 1231 阅读 · 0 评论 -
数据库——mysql
1、分库分表的依据--> 按大数据字段分、按时间段分、按具体业务分(如企业,地区,年龄段等)又有范围法和哈希法2、分表后怎么保证主键位唯一--> 要求:1.全局唯一性,不能出现重复的id号,2.信息安全:防止恶意用户规矩id的规则来获取数据3.数据递增:保证我的下一ID一定大于上一个ID有几种策略:UUID 、雪花算法snowflake(twitter公...原创 2019-04-04 21:46:39 · 205 阅读 · 0 评论 -
缓存——redis
1、数据结构String存入字符类型list 链表 (双向链表)set无序集合 Hash 方便存对象 键值对 Zset有序集合2、大对象存储使用哪种结构,为什么Hset,可以使用命令进行对象中数据的更改hset 则是以hash 散列表的形式存储例如 吧张三的年龄改为30 则可以使用命令: hset user_1 age 30在比如...原创 2019-04-04 21:56:07 · 281 阅读 · 0 评论 -
框架——spring
1、Aop实现原理AOP(Aspect-OrientedProgramming,面向方面编程)利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,再通过动态代理将可重用模块和对应业务逻辑进行织入,是一种将应用程序中的商业逻辑同对其提供支持的通用服务进行分离的技术。实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式...原创 2019-04-04 21:57:19 · 227 阅读 · 0 评论 -
Java基础知识
1、String类为什么是final的final修饰类不能被继承,修饰的方法不能被重写,final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。主要是为了”安全性“和”效率“的缘故,因为:1、由于String类不能被继承,所以就不会被修改,这就避免了因为继承引起的安全隐患;2、String类在程序中出现的频率比较高,如果为了避免安全隐患,在它每次出现时...原创 2019-04-04 21:58:21 · 486 阅读 · 0 评论 -
框架——集合
1、arraylist和linkedList的区别ArrayList和LinkedList的大致区别如下:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3.对于新增和删除操作add和remove,LinedList比较占优势,因...原创 2019-04-04 22:00:08 · 344 阅读 · 0 评论 -
网络知识
http1.0/http1.1/http2.0之间有什么区别?HTTP1.0和HTTP1.1的一些区别缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择...原创 2019-04-04 22:01:04 · 192 阅读 · 0 评论 -
线程及线程池
1、线程的方法及之间的区别1,线程名称 1,在Thread类中可以通过getName()方法取得线程名称,通过setName()设置线程名称。 2,线程的名称一般在启动线程前设置,但也允许为运行的线程设置名称,允许两个Thread对象有相同名称,但是应该避免。 3,如果程序没有为线程指定名称,系统会自动为线程设置名称。currentThread(),获取当前线程。2,...原创 2019-04-04 22:02:25 · 295 阅读 · 0 评论