自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 每日leetcode - CodeTop

文章目录leetcode - 215. 数组中的第K个最大元素leetcode - 206. 反转链表leetcode - 3. 无重复字符的最长子串leetcode - 15. 三数之和leetcode - 94. 二叉树的中序遍历leetcode - 144. 二叉树的前序遍历leetcode...

2020-11-19 19:57:23 33 0

原创 每日leetcode - 剑指 offer

文章目录剑指 Offer 03. 数组中重复的数字剑指 Offer 05. 替换空格剑指 Offer 06. 从尾到头打印链表剑指 Offer 07. 重建二叉树剑指 Offer 09. 用两个栈实现队列剑指 Offer 10- I. 斐波那契数列剑指 Offer 10- II. 青蛙跳台阶问题剑...

2020-11-18 18:54:01 39 0

原创 每日leetcode - 数组 easy

文章目录88. 合并两个有序数组118. 杨辉三角121. 买卖股票的最佳时机122. 买卖股票的最佳时机 II167. 两数之和 II - 输入有序数组169. 多数元素217. 存在重复元素219. 存在重复元素 II268. 丢失的数字 88. 合并两个有序数组 给你两个有序整数数组 num...

2020-11-15 22:07:12 21 0

原创 SpringCloud - OpenFeign服务调用

文章目录SpringCloud - OpenFeign服务调用0. OpenFeign概述1. OpenFeign服务调用2. OpenFeign超时机制3. OpenFeign日志打印功能 SpringCloud - OpenFeign服务调用 0. OpenFeign概述 在Spring Cl...

2020-11-15 17:12:18 26 0

原创 每日leetcode - 数组 easy

文章目录1. 两数之和26. 删除排序数组中的重复项27. 移除元素35. 搜索插入位置53. 最大子序和66. 加一 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 方法1:暴力法,超出时间限制 cla...

2020-11-14 22:01:39 33 0

原创 SpringCloud - Ribbon服务调用

文章目录SpringCloud - Ribbon负载均衡0. Ribbon概述1. Ribbon的使用2. 替换Ribbon的负载均衡算法3. 手写轮询算法 SpringCloud - Ribbon负载均衡 0. Ribbon概述 ① LB负载均衡(Load Balance)是什么? 负载均衡的表...

2020-11-14 19:54:50 32 0

原创 SpringCloud - Consul服务注册中心

文章目录SpringCloud - Consul服务注册与发现0. Consul 概述1. Consul 安装2. 服务提供者payment8006注册进consul3. 服务消费者orderconsul80注册进consul4. CAP理论 SpringCloud - Consul服务注册与发现...

2020-11-14 11:20:43 26 0

原创 SpringCloud - Eureka服务注册中心

文章目录SpringCloud - Eureka服务注册与发现0. Eureka概述1. 单机版Eureka环境搭建1.1 创建Eureka Server服务注册中心(7001)1.2 将payment8001注册进Euraka Server(7001)成为服务提供方1.3 将order80注册...

2020-11-13 21:55:56 86 0

原创 SpringCloud - 服务提供者和服务消费者

SpringCloud - 服务提供者和服务消费者 0. 概述 服务提供者: 服务的被调用方,为其他服务提供服务的服务 服务消费者: 服务的调用方,即依赖其他服务的服务 1. 建立父工程 建立maven工程,然后将src文件夹删除: 更改pom文件: <?xml version=&quo...

2020-11-13 15:23:45 31 0

原创 LeetCode刷题记录(数组和双指针)

文章目录数组专题88. 合并两个有序数组90. 子集 II105. 从前序与中序遍历序列构造二叉树106. 从中序与后序遍历序列构造二叉树118. 杨辉三角 (no)119. 杨辉三角 II120. 三角形最小路径和 (no)121. 买卖股票的最佳时机122. 买卖股票的最佳时机 II123. ...

2020-09-18 08:43:54 61 1

原创 MySQL事务的实现原理

文章目录MySQL事务的实现原理1. redo log 实现持久性2. bin log3. undo log 实现原子性4. MVCC实现隔离性4.1 事务的隔离级别4.2 read view (快照)4.3 隔离级别5. MVCC是如何解决幻读的?6. MySQL InnoDB的锁6.1 共享锁...

2020-09-14 10:00:19 261 1

原创 LeetCode刷题记录(百度)

文章目录leetcode-215.数组中的第K个最大元素leetcode-206.反转链表leetcode-142.环形链表IIleetcode-94. 二叉树的中序遍历leetcode-104. 二叉树的最大深度leetcode-102. 二叉树的层序遍历leetcode-69. x 的平方根l...

2020-09-01 17:20:17 156 0

原创 动态规化刷题

文章目录[1143. 最长公共子序列][5. 最长回文子串][647. 回文子串][300. 最长上升子序列][72. 编辑距离]Acwing-02-01背包问题[416. 分割等和子集][121. 买卖股票的最佳时机][122. 买卖股票的最佳时机 II][123. 买卖股票的最佳时机 III ...

2020-08-26 18:34:36 96 0

原创 LeetCode刷题记录(快手)

文章目录leetcode-206-反转链表leetcode-215-数组中的第K个最大元素leetcode-3-无重复字符的最长字串leetcode-92-反转链表leetcode-136-只出现一次的数字leetcode-20-有效的括号leetcode-151-翻转字符串里的单词leetcod...

2020-08-23 11:22:11 198 0

原创 快速排序算法

快速排序: 1、选取基准数(这里以序列的第一个元素为基准数)。分配 左、右指针(左指针一开始指向序列的最左端,即 left = 0,右指针一开始指向序列的最右端,即 right = nums.Length - 1) 2、右指针先往左走,当右指针指向元素比基准数小时,将该元素放到左指针指向的位置(这...

2020-08-20 15:23:45 68 0

原创 《计算机网络》--TCP/UDP协议

推荐大家去看这本谢仁希老师的计算机网络,内容讲的很清楚很好,细细的看可以收获很多。 文章目录1. 传输层1. 传输层作用2. TCP和UDP协议3. UDP协议的特点4. UDP协议的首部格式5. TCP协议的特点6. TCP可靠传输的原理6.1 停止等待协议6.2 连续ARQ协议7. TCP报文...

2020-08-20 00:08:20 125 0

原创 《图解HTTP》-- HTTP协议

文章目录图解HTTP1. TCP/IP四层结构和各层功能2. 各协议与HTTP协议的关系3. HTTP请求报文和响应报文格式4. URI和URL5. HTTP方法5.1 常用的HTTP方法5.2 GET和POST的区别6. HTTP 1.0的特点5.1 持久连接5.2 管线化7. HTTP状态码8...

2020-08-20 00:07:42 158 0

原创 《MySQL实战45讲》

说明:这个是极客时间丁奇老师的课程,有兴趣的可以看一下,讲的确实不错。 文章目录MYSQL实战45讲 -- 基础篇8讲1. 基础架构:一条SQL查询语句是如何执行的?2. 日志系统:一条SQL更新语句是如何执行的?3. 事务隔离:为什么你改了我还看不见?4. 深入浅出索引(上)5. 深入浅出索引(...

2020-08-20 00:05:21 169 0

原创 《操作系统》

文章目录操作系统1. 操作系统的特征2. 中断和异常3. 系统调用4. 进程4.1 进程的基本概念4.2 进程的状态4.3 进程通信4.4 线程4.5 进程调度4.6 进程同步5. 死锁6. 内存6.1 逻辑地址和物理地址6.2 分页存储6.3 分段存储6.4 分页和分段的区别6.5 虚拟内存 操...

2020-08-20 00:04:22 164 0

原创 ConcurrentHashMap底层源码分析

文章目录ConcurrentHashMap底层源码分析1. 成员变量2. 构造方法2.1 不指定初始容量2.2 指定初始容量3. put方法添加节点3.1 spread()方法3.2 initTable()方法3.3 tabAt( )方法3.4 casTabAt( ) 方法4. get 方法 ...

2020-08-19 22:31:26 102 0

原创 Leetcode刷题记录(50题)

文章目录5. 用两个栈实现队列(栈)14. 链表中倒数第K个节点(快慢指针)29. 最小的K个数(优先队列-大顶堆)38. 二叉树的深度(dfs)39. 平衡二叉树(dfs)63. 数据流的中位数(优先队列-大小顶堆)64. 滑动窗口的最大值(双端队列)======================...

2020-08-12 09:47:52 160 0

原创 MySQL 数据库索引数据结构的选择

文章目录1. MySQL 数据库索引的数据结构选择1.1 Hash索引1.2 二叉搜索树 & 平衡二叉树1.3 B 树(多路平衡搜索树)1.4 B + 树2. 聚簇索引和非聚簇索引2.1 利用聚集索引查找数据2.2 利用非聚集索引查找数据3. 主键索引和非主键索引4. MySQl存储引擎 ...

2020-08-11 14:45:14 117 0

原创 Spring 事务失效的场景

文章目录1. 数据库事务1.1 事务的ACID特性1.2 多事务的并发进行造成的问题1.3 MySQL事务的隔离级别1.4 Spring事务的传播特性1.5 Spring事务的失效场景1.5.1 本类中没有事务的方法调用含有事务的方法1.5.2 rollbackFor属性使用错误1.5.3 出现异...

2020-08-11 14:38:25 302 0

原创 HashMap底层源码分析

文章目录HashMap底层源码解析1. HashMap的基本特性2. HashMap简介3. 成员变量和构造函数3.1 为什么初始化容量必须是2的n次方?3.2 如果数组容量不是2的n次方?4. HashMap的put()方法流程4.1 hash()方法实现4.2 resize()方法实现4.3 ...

2020-08-11 14:03:03 83 0

原创 利用redis分布式锁解决秒杀场景下的订单超卖问题

文章目录1. 秒杀场景2. Redis分布式锁解决订单超卖2.1 两个命令介绍2.2 RedisLock2.3 将redis分布式锁应用于秒杀业务2.4 分析RedisLock 1. 秒杀场景 Controller层: @RestController @RequestMapping("/...

2020-08-05 23:06:23 357 1

原创 微信开放平台:微信扫码登录功能

文章目录微信开放平台:微信扫码登录功能1. 授权流程说明2. 授权流程代码3. 用户登录和登出 微信开放平台:微信扫码登录功能 官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_L...

2020-08-05 19:33:49 624 0

原创 微信公众平台:微信网页授权和微信支付

文章目录微信公众平台开发:微信网页授权和微信支付1. 微信网页授权1.1 微信网页授权和微信支付有什么关系?1.2 微信授权流程1.2.1 手工实现微信网页授权1.2.2 利用第三方SDK开发2. 微信支付2.1 微信支付场景2.2 JSAPI支付2.3 微信支付业务流程2.4 代码实现2.4.1...

2020-08-05 19:13:28 274 0

原创 微信支付与退款

文章目录1. 微信支付1.1 调用统一下单接口--生成预付单1.1.1 配置信息的封装1.1.2 PayService调用统一下单接口1.1.3 PayController1.1.4 测试生成预付单并返回支付参数1.2 统一下单接口---微信内H5调起支付1.3 用户下单到支付总流程1.4 异步通...

2020-08-04 16:09:19 312 1

原创 微信公众号OAuth 2.0 网页授权

文章目录微信公众号OAuth 2.0 网页授权1. 修改授权回调域名2. 网页授权2.1 为什么需要用户网页授权?2.2 引导用户进入授权页面同意授权,获取code2.3 通过code换取网页授权access_token2.4 拉取用户信息(需scope为 snsapi_userinfo)3. ...

2020-08-03 12:57:33 173 0

原创 Shiro整合JWT:解决jwt注销和续签的问题

文章目录Shiro管理用户认证时jwt续签和注销的问题1. 场景一:token的注销问题(黑名单)2. 场景二:token的续签问题3. 项目中的实现3.1 封装JWT工具类3.2 配置Shiro的自定义认证类3.3 登录和退出登录(token注销)3.3.1 登录接口3.3.2 退出登录3.3....

2020-08-01 15:42:43 455 0

原创 Shiro整合JWT:实现用户认证和授权

文章目录Shiro+JWT实现认证和授权1. JWT的简单介绍1.1 为什么使用JWT?1.2 JWT的结构2. 封装JWT工具类2.1 jwt属性注入的配置文件2.2 JwtTokenUtil3. Shiro框架整合JWT3.1 封装JWT替换shiro的 UsernamePasswordTok...

2020-07-31 12:54:57 294 0

原创 Redis实现自定义序列化方式

1. 如何实现redis的序列化? 序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 序列化主要用于存储对象状态为另一种通用格式,比如存储为二进制、xml、json等等,把对象转换成这种格式就叫序列化,而反序列化通常是从这种格式转换回来...

2020-07-30 11:06:45 244 0

原创 Shiro实现用户认证和授权

文章目录1. Shiro认证1. Shiro认证流程源码分析2. 自定义Realm3. md5+salt密码加盐认证2. Shiro授权 1. Shiro认证 1. Shiro认证流程源码分析 主体(subject)需要携带身份信息和凭证信息,shiro在认证时会将这些信息打包成一个令牌,进入到安...

2020-07-28 17:54:15 184 0

原创 SpringSecurity的配置

文章目录1. SpringSecurity1.1 导包1.2 自定义账号和密码1.3 实现UserDetailsService1.4 HomeController1.5 SecurityConfig 1. SpringSecurity 1.1 导包 <dependency> ...

2020-07-26 11:21:14 199 0

原创 Spring Data Elasticsearch

文章目录1. Spring Data Elasticsearch1.1 添加文档1.2 更新文档1.3 查询所有文档1.4 删除文档1.5 根据name和content查询1.6 根据name或content查询1.7 分页查询1.8 排序加分页查询1.9 分页排序查询高亮显示 1. Spring...

2020-07-24 21:49:02 95 0

原创 ElasticSearch的倒排索引和查询

1. Restful架构风格 1、使用restful风格的url代替传统的url 传统的url:http://localhost:8989/xxx/find?id=1 RestUrl:http://localhost:8989/xxx/find/1 2、使用http的四种方法代替服务器的CRU...

2020-07-24 16:09:02 244 0

原创 二刷剑指Offer:剑指Offer + LeetCode(全47题)

文章目录27. 字符串的排列(递归回溯)26. 二叉搜索树与双向链表(LeetCode)26. 二叉搜索树与双向链表(线索化)24. 路径总和I(LeetCode_112)24. 路径总和II(LeetCode_113)24. 二叉树中和为某一值的路径(递归回溯)23. 二叉树的后序遍历序列(le...

2020-07-22 09:03:19 103 0

原创 CentOS 7安装Elasticsearch和Kibana

文章目录一、安装Elasticsearch二、安装kibana三、IK分词器 之前使用es,都是直接在Windows操作,因为安装特别简单,这次向深入学习下ES,没想到Linux的安装这么多报错,记录下 一、安装Elasticsearch 参考博客:https://blog.csdn.net/wi...

2020-07-22 08:51:50 87 0

原创 二刷剑指Offer:剑指Offer+LeetCode(全53题)

文章目录剑指Offer刷题67. 剪绳子(贪心算法)66. 机器人的运动范围(dfs)65. 矩阵中的路径(回溯算法)64. 滑动窗口的最大值(双端队列)63. 数据流中的中位数62. 二叉搜索树的第k大节点(Leedcode)62. 二叉搜索树的第k小节点(中序遍历)61. 序列化二叉树(Lee...

2020-07-21 17:15:08 345 4

原创 Kafka深度解析

1. 为什么需要kafka? Kafka 是一个分布式的基于发布/订阅模式的消息队列。消息队列是一种先进先出的数据结构。 队列是一种先进先出的数据结构,分布式消息队列可以看做将这种数据结构部署到独立的服务器上,应用程序可以通过远程访问接口使用分布式消息队列,进行消息存取操作,进而实现分布式的异步调...

2020-07-20 17:40:32 225 1

提示
确定要删除当前文章?
取消 删除