- 博客(116)
- 资源 (1)
- 收藏
- 关注
原创 Spring Cloud之负载均衡组件Ribbon原理分析
本文主要讲述了微服务体系下的 `Spring Cloud Netflix` 套件中 `Ribbon` 的使用,并结合部分源码讲述了 `Ribbon` 的底层原理,重点讲述了 `Ribbon` 中是如何获取服务以及如何判定一个服务是否可用,最后也介绍了 `Ribbon` 中默认提供的 `7` 种负载均衡策略
2022-04-12 09:30:03
857
原创 一文彻底解密Spring 源码之Spring MVC
本文重点以 `RequestMappingHandlerMapping` 为例子分析了在 `Spring` 当中如何初始化 `HandlerMethod`,并最终在调用的时候又是如何根据 `url` 获取到对应的方法并进行执行最终完成整个流程。
2022-03-27 17:25:09
1530
原创 如何防止因哈希碰撞引起的DoS攻击
哈希是一种相对比较简单的数据结构,而哈希的随机访问元素时间复杂度可以达到 `O(1)` 级别是因为其和数组有着无法分割的联系,开放寻址法和链地址法是用来解决哈希冲突的两种重要措施,但是在使用过程需要防止哈希碰撞攻击。
2022-01-14 21:10:32
1404
原创 为什么循环队列要浪费一个存储空间
单向队列会出现“假溢出”问题,而循环队列却能解决“假溢出”问题。常规的循环队列实现方法需要浪费一个存储空间,那么如果不浪费一个空间是否也能实现一个循环队列呢?
2022-01-11 09:00:00
2748
1
原创 手把手带你利用栈来实现一个简易版本的计算器
一文掌握栈的四大经典应用场景:括号配对,表达式求值,浏览器前进后退,函数调用;手把手实现一个简易版本的计算器。
2022-01-07 11:26:10
2271
原创 通俗易懂的告诉你如何判断链表中是否有环并找出环的入口位置
假如一个链表中存在环,那么可以利用哈希法和双指针法来判断是否存在环,同时,利用三指针就可以找到环的入口位置
2022-01-05 09:00:00
3315
原创 一文讲透链表操作,看完你也能轻松写出正确的链表代码
掌握链表三大法宝:时刻谨记防止指针丢失;引入哨兵来简化链表的链表操作;巧妙的利用双指针写出更高效简洁的链表代码
2022-01-01 08:00:00
413
原创 算法基础之数组的增删改查和双指针思想的妙用
数组是数据结构中最基础的一种数据结构,数组的特性决定了数组的访问是高效的,但是插入和删除是低效的原因。数组本身比较简单,但是数组又是许多高级算法的载体,数组当中尤其重要的是双指针思想,在数组中的相关操作中,利用双指针可以巧妙的避免操作数组时带来的大量元素移动。
2021-12-24 21:45:38
910
1
原创 一文讲透算法中的时间复杂度和空间复杂度计算方式
想要学好算法,必须要掌握如何分析一个算法的时间复杂度和空间复杂度,只有自己会分析这两个个衡量算法主要性能的标准,才能更好的写出性能优秀的算法,复杂度同时也可以分为最好时间复杂度,最坏时间复杂度,平均时间复杂度和均摊时间复杂度四种类型
2021-12-10 09:30:00
2332
4
原创 Spring Cloud中五花八门的分布式组件我到底该怎么学
本文主要讲述了从单点应用到分布式架构的发展历程,并且描述了微服务当中为什么会诞生出一批组件,其根本原因就是为了解决微服务所带来的的挑战和问题,在文中最后对当前流行的分布式架构组件进行了分类整理,帮助大家梳理思路,这样就可以做到有目的的进行针对性的学习,希望通过本文能让大家对微服务相关组件有一个清晰的学习思路。
2021-12-05 12:58:27
1597
1
原创 Spring依赖注入和循环依赖问题分析
Spring源码揭秘之依赖注入和循环依赖问题分析前言依赖注入的入口方法依赖注入流程分析AbstractBeanFactory#getBeanAbstractBeanFactory#doGetBeanAbstractAutowireCapableBeanFactory#createBeanAbstractAutowireCapableBeanFactory#doCreateBean创建 bean 实例(AbstractAutowireCapableBeanFactory#createBeanInstance)
2021-11-27 21:09:18
1723
2
原创 Spring IOC容器初始化流程源码分析
Spring 源码之 IOC 容器前言IOC 只是一个 Map 集合IOC 三大核心接口IOC 初始化三大步骤定位加载注册总结前言在 Spring 框架中,大家耳熟能详的无非就是 IOC,DI,Spring MVC,AOP,这些是 Spring 中最基础的核心功能,再高级点的功能就还有数据数据访问模块(JDBC,ORM,事务等)。Spring 本身的扩展性也做得非常好,源码当中也是运用了大量设计模式来实现,了解 Spring 源码对于一个 Java 开发人员来说是非常有必要的,从源码中我们也可以学习到很
2021-11-05 21:09:00
757
3
原创 Elasticsearch 中为什么选择倒排索引而不选择 B 树索引
Elasticsearch 中为什么选择倒排索引而选择 B 树索引前言为什么全文索引不使用 B+ 树进行存储全文检索正排索引倒排索引倒排索引如何存储数据FOR 压缩RBM 压缩倒排索引如何存储字典树(Tria Tree)FSTFSM构建 FST总结前言索引可能大家都不陌生,在用关系型数据库时,一些频繁用作查询条件的字段我们都会去建立索引来提升查询效率。在关系型数据库中,我们一般都采用 B 树索引进行存储,所以 B 树索引也是我们接触比较多的一种索引数据结构,然而在 es 中,进行全文搜索的时候却并没有选
2021-10-26 09:44:15
1420
2
原创 Elasticsearch中URI Search和RequestBody Search分析
URI Search和Request Body Search
2021-06-15 09:27:50
1196
6
原创 如何设计一个高性能Elasticsearch mapping
动态 mapping 和显式 mapping:text 类型和 keyword 类型
2021-05-26 15:52:22
1871
9
原创 面试官:这些错误都没见过,还敢说会安装Elasticsearch?
面试官:这些错误都没见过,还敢说会安装Elasticsearch前言什么是 Elasticsearch聊聊 Apache Lucene常见名词为什么移除 mapping typeElasticsearch 的安装和配置你必须知道的配置配置 data 和 log配置集群名称(cluster name)配置节点名(node name)配置网络 ip本地回环地址发现集群信息配置配置 discovery.seed_hosts配置 discovery.seed_providers配置 cluster.initial_
2021-05-10 12:54:46
1780
11
原创 为了彻底理解乱码问题,一怒之下我把字符集历史扒了个底朝天
ASCII,ISO-8859-1,GBK,UTF-8,代码点,代码单元,大端模式,小端模式
2021-04-17 18:28:01
2662
14
elasticsearch-analysis-pinyin-7.3.1.zip
2020-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人