自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你今天真好看呀

心若有所向往,何惧道阻且长

  • 博客(18)
  • 收藏
  • 关注

原创 动态规化刷题

文章目录[1143. 最长公共子序列][5. 最长回文子串][647. 回文子串][300. 最长上升子序列][72. 编辑距离]Acwing-02-01背包问题[416. 分割等和子集][121. 买卖股票的最佳时机][122. 买卖股票的最佳时机 II][123. 买卖股票的最佳时机 III ][309. 最佳买卖股票时机含冷冻期][714. 买卖股票的最佳时机含手续费]Acwing-03-完全背包问题[322. 零钱兑换][518. 零钱兑换 II][1143. 最长公共子序列]https://l

2020-08-26 18:34:36 252

原创 LeetCode刷题记录(快手)

文章目录leetcode-206-反转链表leetcode-215-数组中的第K个最大元素leetcode-3-无重复字符的最长字串leetcode-92-反转链表leetcode-136-只出现一次的数字leetcode-20-有效的括号leetcode-151-翻转字符串里的单词leetcode-103-二叉树的锯齿形层序遍历leetcode-21. 合并两个有序链表leetcode-88-合并两个有序数组offer-55-二叉树深度(Yes)leetcode-1-两数之和leetcode-15-三数之

2020-08-23 11:22:11 1518

原创 快速排序算法

快速排序:1、选取基准数(这里以序列的第一个元素为基准数)。分配 左、右指针(左指针一开始指向序列的最左端,即 left = 0,右指针一开始指向序列的最右端,即 right = nums.Length - 1)2、右指针先往左走,当右指针指向元素比基准数小时,将该元素放到左指针指向的位置(这么做是为了把该数放到基准数的左边)3、右指针把元素放到左指针位置后,左指针开始向右走。当左指针指向元素比基准数大时,把该元素放到右指针的位置。4、填了右边的空缺后,右指针继续向左移动,开始填左边的空缺,填了左边

2020-08-20 15:23:45 276

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

推荐大家去看这本谢仁希老师的计算机网络,内容讲的很清楚很好,细细的看可以收获很多。文章目录1. 传输层1. 传输层作用2. TCP和UDP协议3. UDP协议的特点4. UDP协议的首部格式5. TCP协议的特点6. TCP可靠传输的原理6.1 停止等待协议6.2 连续ARQ协议7. TCP报文段的首部格式8. TCP可靠传输的实现9. 流量控制10. TCP的拥塞控制11. TCP连接建立12. TCP连接的释放2. 应用层1. 超文本传输协议HTTP2. HTTP的报文结构1. 传输层1. 传输层

2020-08-20 00:08:20 632

原创 《图解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. HTTPS8.1 HTTP请求存在的问题8.2 HTTPS = HTTP+加密+认证+完整性保护8.2.1 共享秘钥加密(对称秘钥加密)8.2.2 公开秘钥加密(非对称秘钥加密)8.2.3 HTTPS采用共享秘

2020-08-20 00:07:42 1387 1

原创 《MySQL实战45讲》

说明:这个是极客时间丁奇老师的课程,有兴趣的可以看一下,讲的确实不错。文章目录MYSQL实战45讲 -- 基础篇8讲1. 基础架构:一条SQL查询语句是如何执行的?2. 日志系统:一条SQL更新语句是如何执行的?3. 事务隔离:为什么你改了我还看不见?4. 深入浅出索引(上)5. 深入浅出索引(下)6. 全局锁和表锁 :给表加个字段怎么有这么多阻碍?7. 行锁功过:怎么减少行锁对性能的影响?8. 事务到底是隔离的还是不隔离的?MYSQL实战45讲 – 基础篇8讲1. 基础架构:一条SQL查询语句是如何

2020-08-20 00:05:21 2746

原创 《操作系统》

文章目录操作系统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 虚拟内存操作系统1. 操作系统的特征① 并发并发: 指两个或多个事件在同一时间间隔内发生。 这些事件宏观上是同时发生的, 但微观上是交替发生的。常考易混概念——并行: 指两个或多个事件在同一时刻同时发生。单核CP

2020-08-20 00:04:22 418

原创 ConcurrentHashMap底层源码分析

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

2020-08-19 22:31:26 367

原创 Leetcode刷题记录(50题)

文章目录5. 用两个栈实现队列(栈)14. 链表中倒数第K个节点(快慢指针)29. 最小的K个数(优先队列-大顶堆)38. 二叉树的深度(dfs)39. 平衡二叉树(dfs)63. 数据流的中位数(优先队列-大小顶堆)64. 滑动窗口的最大值(双端队列)===============================================3. 无重复字符的最长字串(双指针)5. 最长回文子串(动态规划)20. 有效的括号(栈)21. 合并两个有序链表92. 反转链表121. 买卖股票的最佳时机I(贪

2020-08-12 09:47:52 789

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

文章目录1. MySQL 数据库索引的数据结构选择1.1 Hash索引1.2 二叉搜索树 & 平衡二叉树1.3 B 树(多路平衡搜索树)1.4 B + 树2. 聚簇索引和非聚簇索引2.1 利用聚集索引查找数据2.2 利用非聚集索引查找数据3. 主键索引和非主键索引4. MySQl存储引擎1. MySQL 数据库索引的数据结构选择1.1 Hash索引哈希索引就是采用一定的哈希算法,将键值通过hash(key)算法转化为数组的桶下标(比如John Smith转换为152,LisaSmith转化为

2020-08-11 14:45:14 916

原创 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 出现异常后被捕获处理了1. 数据库事务1.1 事务的ACID特性事务的概念:事务是由N步数据库的操作序列组成的逻辑单元,这系列操作要么全部执行,要么全部放弃;① 原子性:事务开始执行,要么全部执行成功,要么全部执

2020-08-11 14:38:25 2958 1

原创 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 treeifyBin()方法实现5. HashMap的get()方法流程HashMap底层源码解析1. HashMap的基本特性HashMap存储键值对实现快速存取,允许为null。key值不可重复,若

2020-08-11 14:03:03 780 1

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

文章目录1. 秒杀场景2. Redis分布式锁解决订单超卖2.1 两个命令介绍2.2 RedisLock2.3 将redis分布式锁应用于秒杀业务2.4 分析RedisLock1. 秒杀场景Controller层:@RestController@RequestMapping("/skill")@Slf4jpublic class SecKillController { @Autowired private SecKillService secKillService;

2020-08-05 23:06:23 2607 3

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

文章目录微信开放平台:微信扫码登录功能1. 授权流程说明2. 授权流程代码3. 用户登录和登出微信开放平台:微信扫码登录功能官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html1. 授权流程说明微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(a

2020-08-05 19:33:49 10800 7

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

文章目录微信公众平台开发:微信网页授权和微信支付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 统一下单接口2.4.2 微信内H5调起支付2.4.3 异步通知商户支付结果微信公众平台开发:微信网页授权和微信支付问题1:微信公众平台网页授权和微信开放平台网页授权什么关系?① 微信公众平台微信公众平台是

2020-08-05 19:13:28 3001

原创 微信支付与退款

文章目录1. 微信支付1.1 调用统一下单接口--生成预付单1.1.1 配置信息的封装1.1.2 PayService调用统一下单接口1.1.3 PayController1.1.4 测试生成预付单并返回支付参数1.2 统一下单接口---微信内H5调起支付1.3 用户下单到支付总流程1.4 异步通知商户支付结果1.4.1 PayController调用异步通知接口1.4.2 PayServiceImpl1.4.3 解决订单支付状态不正确2. 微信退款1. 微信支付商户系统和微信支付系统主要交互:1、商

2020-08-04 16:09:19 2289 3

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

文章目录微信公众号OAuth 2.0 网页授权1. 修改授权回调域名2. 网页授权2.1 为什么需要用户网页授权?2.2 引导用户进入授权页面同意授权,获取code2.3 通过code换取网页授权access_token2.4 拉取用户信息(需scope为 snsapi_userinfo)3. 补充用到的工具类微信公众号OAuth 2.0 网页授权微信公众号官方文档:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Ove

2020-08-03 12:57:33 3376

原创 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.3 在shiro的自定义认证类中添加认证规则3.4 修改密码(token注销)3.5 token续签问题(token续签)3.6 用户的角色发生了变化(token注销)3.6.1 更新角色3.6.2 删除角色3.6

2020-08-01 15:42:43 3587 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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