摘要: 实现原理相同,功能相同,底层都是哈希表结构,查询速度快,在很多情况下可以互用,早期的版本一般都是安全的。 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。 HashMap几乎 阅读全文
posted @ 2018-07-29 22:06 惘螫茹酆 阅读(111) 评论(0) 推荐(0) 编辑
摘要: B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。 B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而 阅读全文
posted @ 2018-07-29 19:34 惘螫茹酆 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 红黑树的五个性质: 性质1. 节点是红色或黑色。 性质2. 根是黑色。 性质3. 所有叶子都是黑色(叶子是NIL节点)。 性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5. 从任一节点到其每个叶子的所有简单路径 都包含相同数目的黑色节点。 阅读全文
posted @ 2018-07-29 19:32 惘螫茹酆 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 配置在Spring中的Bean在Spring容器中从加载到销毁会经历那些过程呢?如果实现一些特定的Spring接口,这些特定接口的方法会在什么时候被调用呢?本文简单介绍一下这些过程. Bean在Spring容器中的生命周期如下图所示: 1,调用Bean的构造函数(或者工厂方法)实例化Bean.2,对 阅读全文
posted @ 2018-07-29 16:30 惘螫茹酆 阅读(8902) 评论(0) 推荐(1) 编辑
摘要: #{}是预编译处理,${}是字符串替换。mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值,最后注入进去是带引号的;mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。 例如 阅读全文
posted @ 2018-07-29 11:01 惘螫茹酆 阅读(2507) 评论(0) 推荐(0) 编辑
摘要: 由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。 自我保护机制:Eureka Server在运行期间,会统计心跳失败的比例在15分钟之内是否低于85%,如果出现低于的情况(在单机调试的时候很容易满 阅读全文
posted @ 2018-06-21 10:25 惘螫茹酆 阅读(1912) 评论(0) 推荐(0) 编辑
摘要: 这是因为利用docker compose启的容器再用docker rm命令删除后,网络仍然被占用,需要手动清理 解决办法: 先用docker rm -f xxx删除容器 再输入docker network disconnect --force 网络模式 xxx 清理网络占用 最后用docker ne 阅读全文
posted @ 2018-04-16 17:10 惘螫茹酆 阅读(695) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud Eureka是基于 Netflix Eureka 做的二次封装, 主要负责完成微服务架构中的服务治理功能。 服务治理 刚开始构建微服务系统时,由于服务的数量不是很多,我们可以通过静态配置文件的方式来管理服务与实例之间的对应关系。随着业务的发展系统服务越来越多,以及服务的变更 阅读全文
posted @ 2018-04-02 23:23 惘螫茹酆 阅读(175) 评论(0) 推荐(0) 编辑
摘要: elasticsearch应用于产品列表查询 阅读全文
posted @ 2017-02-04 11:39 惘螫茹酆 阅读(976) 评论(1) 推荐(0) 编辑