摘要:
为什么使用@Validated前端传过来数据的时候,要进行校验,但是大量的校验很繁琐,会造成大量的if else语句的产生,所以@Valid和@Validated很好的解决了这个问题。 说白了就是检测数据合法 阅读全文
摘要:
反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。 搜索引擎原理就是建立反向索引。 Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。 Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。 Elastics 阅读全文
摘要:
推荐知乎连接https://www.zhihu.com/search?type=content&q=restful 不知道你看完会不会懂,反正我是懂了。 阅读全文
摘要:
时隔半年又去面试了一下,发现很多基础知识都忘了,补补。 先看一个例子: 结果如下: 解释如下: 类初始化过程: 1.一个类要创建实例需要先加载并初始化该类。 main方法所在的类需要先加载和初始化。 2.一个子类初始化需要先初始化父类。 3.一个类初始化就是执行<clinit>()方法。 <clin 阅读全文
摘要:
今天同事推荐给我看的一个精彩的知乎答案https://www.zhihu.com/question/23277575/answer/169698662,顺手推荐给大家。 阅读全文
摘要:
之所以要先拿到处理器执行链然后再通过适配器去执行Handler是为了解耦,易于扩展。比如在spring中要声明一个控制器有三种方法:实现Controller的接口、实现HttpRequestHandler接口、注解。通过适配器就可以找到对应的Handler。 阅读全文
摘要:
spring底层到底是用Cjlib还是JDK动态代理? 一个类是用Cjlib还是JDK动态代理取决@EnableAspectJAutoProxy注解有没有表明proxyTargetClass = true。注意默认为false。如果为ture那么永远都使用Cjlib,不管有没有接口,如果为false 阅读全文
摘要:
Aspect: 切面。即连接点、切点、通知所在的位置,就是一个集合。 pointcut:切点,代表连接点的集合 类似数据库中的表。 Jionponit:连接点,连接点目标对象的方法。 类似表中的记录。 Weaving:织入, 就是目标对象变成代理对象的过程。 Target Object:目标对象,即 阅读全文
摘要:
AOP是一种变成思想,Spring Aop是其中一种实现方式。 AOP:与OOP相比,面向切面,OOP开发代码逻辑是至上而下的。在这过程中会出现一些横切问题,比如日志、事务、时间等等。但是这些横向问题和主业务逻辑关系不大,会散落在代码的各个地方,造成难以维护,AOP变成思想就是把横切问题和业务逻辑进 阅读全文
摘要:
看到一个很好的解释,于是记录下来。 非阻塞式通常是对于I/O操作而言的,意思就是当你请求一个系统调用的时候,不管收到什么结果函数都会立即返回,而不让线程进入休眠状态以等待I/O操作的完成。相反阻塞式I/O方式在请求一个磁盘文件时会进入线程休眠状态以等待磁盘I/O完成后再苏醒。 异步/同步与阻塞式/非 阅读全文