摘要:
Maven注意事项 1 修改本地仓库位置 2 修改默认的仓库为阿里云仓库 阅读全文
摘要:
第一章 绪论 两个主定理: 其时间复杂度为O(nlogn) 1 问题21与问题22对比可以发现: 问题规模减小和递归求解主定理中f(n)必须要是正的方可,否则不能直接套定理,只能用数学带入法求解。 2 问题34 对T(n)=2T(n/2)+cn 时间复杂度的求解,参考算法导论一书 根据上面求解思路可 阅读全文
摘要:
1 将SpringBoot打成war包 (1)添加Tomcat依赖,去除Tomcat <!-- 设置tomcat在打包时去除--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta 阅读全文
摘要:
总述 ThreadLocal 在面试中经常提到,关于ThreadLocal使用不当造成OOM以及在特殊场景下,通过ThreadLocal可以轻松实现一些看起来复杂的功能,都说明值得花时间研究其原理。 ThreadLocal 不是 Thread,是一个线程内部的数据存储类,通过它可以在指定的线程中存储 阅读全文
摘要:
1 模式动机 在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。 通过引入一个新的对象(如小图片和远程代理 对象) 阅读全文
摘要:
Spring Spring DI(IOC) 是什么?如何实现? Spring AOP是什么?使用场景?底层如何实现? 项目里用到了AOP? 为什么要使用aop,直接抽取方法封装起来不行吗? 待定 spring bean的生命周期,注入方式 参考:https://www.cnblogs.com/you 阅读全文
摘要:
目录 1 Hash函数 2 Hash冲突 3 一致性hash hash表 1 hash函数 地址index=H(key)即根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表。 1.1 hash函数的性质 (1)输入域是无穷的,但是输出域是有限的 (2)不是随机产生的输出,相同 阅读全文
摘要:
集合 Java中集合和数组的区别? 一、集合和数组的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。 集合只能存储引用数据类型(对象)。集合也能存储基本数据类型(有点矛盾,看后句),但是在存储的时候会自动装箱变成对象。 区别2:数组 阅读全文
摘要:
算法题 LeetCode 83. 删除排序链表中的重复元素 LeetCode 50. Pow(x, n) LeetCode 103. 二叉树的锯齿形层次遍历 LeetCode 138. 复制带随机指针的链表 LeetCode 232. 用栈实现队列 LeetCode 104. 二叉树的最大深度 Le 阅读全文
摘要:
什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 阅读全文
摘要:
01 开局一张图 这张图是重点!!!咱要先对MySQL有一个宏观的了解,知道他的执行流程。 一条SQL语句过来的流程是什么样的?那就follow me。哈哈哈哈,皮一下很开心。 1.当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证 阅读全文
摘要:
1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的。Spring MVC 可对外提供服务时,说明其已经处于了就绪状态。再次之前,Spring MVC 需要进行一系列的初始化操作。正所谓兵马未动,粮草先行。这些操作包括创建容器,加载 DispatcherSer 阅读全文
摘要:
1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章。为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一下 Spring MVC 的一些原理。在本篇文章中,你将会了解到 Spring MVC 处理请求的过 阅读全文
摘要:
1.简介 本篇文章是 AOP 源码分析系列文章的最后一篇文章,在前面的两篇文章中,我分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器,以及如何创建代理对象的过程。现在我们的得到了 bean 的代理对象,且通知也以合适的方式插在了目标方法的前后。接下来要做的事情,就是执行通知 阅读全文
摘要:
1.简介 在上一篇文章中,我分析了 Spring 是如何为目标 bean 筛选合适的通知器的。现在通知器选好了,接下来就要通过代理的方式将通知器(Advisor)所持有的通知(Advice)织入到 bean 的某些方法前后。与筛选合适的通知器相比,创建代理对象的过程则要简单不少,本文所分析的源码不过 阅读全文