博客园 - CS408
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=178016
2023-09-11T08:34:19Z
CS408
https://www.cnblogs.com/lixuwu/
feed.cnblogs.com
https://www.cnblogs.com/lixuwu/p/17631641.html
vscode使用记录 - CS408
快捷键 1、ctrl + p 打开全文搜索,快速查找文件 (有个查找小技巧,比如需要查找一个叫 DemoOpenGameInfo 的文件,可以输入demoInfo,这样子可以直接排除剩下类似同名文件) 2、 Shift + Alt + 方向键↓ 拷贝当前一行代码到下一行 (远离ctrl + c 和
2023-08-15T08:24:00Z
2023-08-15T08:24:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】快捷键 1、ctrl + p 打开全文搜索,快速查找文件 (有个查找小技巧,比如需要查找一个叫 DemoOpenGameInfo 的文件,可以输入demoInfo,这样子可以直接排除剩下类似同名文件) 2、 Shift + Alt + 方向键↓ 拷贝当前一行代码到下一行 (远离ctrl + c 和 <a href="https://www.cnblogs.com/lixuwu/p/17631641.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/17469217.html
mysql left jion使用 - CS408
背景:对于left jion使用不多, mysql left join中on后加条件判断和where中加条件的区别 详细的例子说明使用差异 【SQL】sql语句LEFT JOIN(拼接表)详解 讲解左右链接时候的差异 如何优化: 第一:能够进行程序拆分的情况就一定不要表链接过多 第二:遵从小表在前,
2023-06-09T06:54:00Z
2023-06-09T06:54:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:对于left jion使用不多, mysql left join中on后加条件判断和where中加条件的区别 详细的例子说明使用差异 【SQL】sql语句LEFT JOIN(拼接表)详解 讲解左右链接时候的差异 如何优化: 第一:能够进行程序拆分的情况就一定不要表链接过多 第二:遵从小表在前, <a href="https://www.cnblogs.com/lixuwu/p/17469217.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16716357.html
less命令 - CS408
背景:为了查看日志方便 记录less命令的使用 Linux less命令详解(9个实用案例演示) 里面有案例的详细演示 命令记录 命令解释 1.命令格式: less [参数] 文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向
2022-09-21T09:15:00Z
2022-09-21T09:15:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:为了查看日志方便 记录less命令的使用 Linux less命令详解(9个实用案例演示) 里面有案例的详细演示 命令记录 命令解释 1.命令格式: less [参数] 文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向 <a href="https://www.cnblogs.com/lixuwu/p/16716357.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16201714.html
正则表达式引起的性能下降 - CS408
背景:在学习性能优化的知识时,发现一个因为正则表达式引起的性能下降问题,记录下来 藏在正则表达式里的陷阱 转载 藏在正则表达式里的陷阱 通过java自带的线程dump工具 发现出问题的线程 是字符串的校验 ps:也可以通过代码注释的方式,发现出问题的地方就是正则校验 其实这里导致 CPU 使用率高的
2022-04-28T01:55:00Z
2022-04-28T01:55:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:在学习性能优化的知识时,发现一个因为正则表达式引起的性能下降问题,记录下来 藏在正则表达式里的陷阱 转载 藏在正则表达式里的陷阱 通过java自带的线程dump工具 发现出问题的线程 是字符串的校验 ps:也可以通过代码注释的方式,发现出问题的地方就是正则校验 其实这里导致 CPU 使用率高的 <a href="https://www.cnblogs.com/lixuwu/p/16201714.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16164515.html
搞懂异地多活,看这篇就够了 - CS408
背景:理解下述名词 参考 搞懂异地多活,看这篇就够了 好了,总结一下这篇文章的重点。 1、一个好的软件架构,应该遵循高性能、高可用、易扩展 3 大原则,其中「高可用」在系统规模变得越来越大时,变得尤为重要 2、系统发生故障并不可怕,能以「最快」的速度恢复,才是高可用追求的目标,异地多活是实现高可用的
2022-04-19T03:42:00Z
2022-04-19T03:42:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:理解下述名词 参考 搞懂异地多活,看这篇就够了 好了,总结一下这篇文章的重点。 1、一个好的软件架构,应该遵循高性能、高可用、易扩展 3 大原则,其中「高可用」在系统规模变得越来越大时,变得尤为重要 2、系统发生故障并不可怕,能以「最快」的速度恢复,才是高可用追求的目标,异地多活是实现高可用的 <a href="https://www.cnblogs.com/lixuwu/p/16164515.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16159101.html
微服务 spring cloud学习 - CS408
背景:学习材料《227-Spring Cloud 微服务项目实战》 227-Spring Cloud 微服务项目实战 简介 在上面这幅图中,我们可以看到有几个 Spring Boot Apps 的应用集群,这就是经过拆分 后的微服务。Spring Cloud 和 Spring Boot 达成了一种默
2022-04-18T04:21:00Z
2022-04-18T04:21:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:学习材料《227-Spring Cloud 微服务项目实战》 227-Spring Cloud 微服务项目实战 简介 在上面这幅图中,我们可以看到有几个 Spring Boot Apps 的应用集群,这就是经过拆分 后的微服务。Spring Cloud 和 Spring Boot 达成了一种默 <a href="https://www.cnblogs.com/lixuwu/p/16159101.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16134565.html
13 | 多线程之锁优化(中):深入了解Lock 同步锁的优化方法 - CS408
背景:感觉还可以,做个记录 今天这讲我们继续来聊聊锁优化。上一讲我重点介绍了在 JVM 层实现的 Synchronized 同步锁的优化方法,除此之 外,在 JDK1.5 之后,Java 还提供了 Lock 同步锁。那么它 有什么优势呢? 相对于需要 JVM 隐式获取和释放锁的 Synchroniz
2022-04-12T04:42:00Z
2022-04-12T04:42:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:感觉还可以,做个记录 今天这讲我们继续来聊聊锁优化。上一讲我重点介绍了在 JVM 层实现的 Synchronized 同步锁的优化方法,除此之 外,在 JDK1.5 之后,Java 还提供了 Lock 同步锁。那么它 有什么优势呢? 相对于需要 JVM 隐式获取和释放锁的 Synchroniz <a href="https://www.cnblogs.com/lixuwu/p/16134565.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16134546.html
12 | 多线程之锁优化(上):深入了解Synchronized同步锁的优 化方法 - CS408
背景:感觉讲的不错,可以学习理解 你好,我是刘超。从这讲开始,我们就正式进入到第三模块——多线程性能调优。 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。 Synchro
2022-04-12T04:29:00Z
2022-04-12T04:29:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:感觉讲的不错,可以学习理解 你好,我是刘超。从这讲开始,我们就正式进入到第三模块——多线程性能调优。 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。 Synchro <a href="https://www.cnblogs.com/lixuwu/p/16134546.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16115655.html
30 | 如何使用Redis实现分布式锁? - CS408
上节课,我提到,在应对并发问题时,除了原子操作,Redis 客户端还可以通过加锁的方 式,来控制并发写操作对共享数据的修改,从而保证数据的正确性。 但是,Redis 属于分布式系统,当有多个客户端需要争抢锁时,我们必须要保证,这把锁 不能是某个客户端本地的锁。否则的话,其它客户端是无法访问这把锁的,
2022-04-08T02:26:00Z
2022-04-08T02:26:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】上节课,我提到,在应对并发问题时,除了原子操作,Redis 客户端还可以通过加锁的方 式,来控制并发写操作对共享数据的修改,从而保证数据的正确性。 但是,Redis 属于分布式系统,当有多个客户端需要争抢锁时,我们必须要保证,这把锁 不能是某个客户端本地的锁。否则的话,其它客户端是无法访问这把锁的, <a href="https://www.cnblogs.com/lixuwu/p/16115655.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16113378.html
10 | 第1~9讲课后思考题答案及常见问题答疑 - CS408
10 | 第1~9讲课后思考题答案及常见问题答疑 第 1 讲 问题:和跟 Redis 相比,SimpleKV 还缺少什么? @曾轼麟、@Kaito 同学给出的答案都非常棒。他们从数据结构到功能扩展,从内存效率到 事务性,从高可用集群再到高可扩展集群,对 SimpleKV 和 Redis 进行了详细
2022-04-07T09:32:00Z
2022-04-07T09:32:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】10 | 第1~9讲课后思考题答案及常见问题答疑 第 1 讲 问题:和跟 Redis 相比,SimpleKV 还缺少什么? @曾轼麟、@Kaito 同学给出的答案都非常棒。他们从数据结构到功能扩展,从内存效率到 事务性,从高可用集群再到高可扩展集群,对 SimpleKV 和 Redis 进行了详细 <a href="https://www.cnblogs.com/lixuwu/p/16113378.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16112789.html
09 | 切片集群:数据增多了,是该加内存还是加实例? - CS408
我曾遇到过这么一个需求:要用 Redis 保存 5000 万个键值对,每个键值对大约是 512B, 为了能快速部署并对外提供服务,我们采用云主机来运行 Redis 实例,那么,该如何选择 云主机的内存容量呢? 我粗略地计算了一下,这些键值对所占的内存空间大约是 25GB(5000 万 *512B)。
2022-04-07T07:58:00Z
2022-04-07T07:58:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】我曾遇到过这么一个需求:要用 Redis 保存 5000 万个键值对,每个键值对大约是 512B, 为了能快速部署并对外提供服务,我们采用云主机来运行 Redis 实例,那么,该如何选择 云主机的内存容量呢? 我粗略地计算了一下,这些键值对所占的内存空间大约是 25GB(5000 万 *512B)。 <a href="https://www.cnblogs.com/lixuwu/p/16112789.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16112693.html
08 | 哨兵集群:哨兵挂了,主从库还能切换吗? - CS408
上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形 成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。 但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能正常 切换吗? 实际上,一旦多个实例组成了哨兵集群,即使有哨兵实例出
2022-04-07T07:42:00Z
2022-04-07T07:42:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形 成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。 但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能正常 切换吗? 实际上,一旦多个实例组成了哨兵集群,即使有哨兵实例出 <a href="https://www.cnblogs.com/lixuwu/p/16112693.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16112457.html
07 | 哨兵机制:主库挂了,如何不间断服务? - CS408
上节课,我们学习了主从库集群模式。在这个模式下,如果从库发生故障了,客户端可以 继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接 会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。 而且,如果客户端发送的都是读操作请求,那还可以由从库继续提供服务,这在纯
2022-04-07T07:06:00Z
2022-04-07T07:06:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】上节课,我们学习了主从库集群模式。在这个模式下,如果从库发生故障了,客户端可以 继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接 会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。 而且,如果客户端发送的都是读操作请求,那还可以由从库继续提供服务,这在纯 <a href="https://www.cnblogs.com/lixuwu/p/16112457.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16112429.html
06 | 数据同步:主从库如何实现数据一致? - CS408
06 | 数据同步:主从库如何实现数据一致? 前两节课,我们学习了 AOF 和 RDB,如果 Redis 发生了宕机,它们可以分别通过回放日 志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。 不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实际使用时
2022-04-07T07:02:00Z
2022-04-07T07:02:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】06 | 数据同步:主从库如何实现数据一致? 前两节课,我们学习了 AOF 和 RDB,如果 Redis 发生了宕机,它们可以分别通过回放日 志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。 不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实际使用时 <a href="https://www.cnblogs.com/lixuwu/p/16112429.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16110905.html
04-05 | AOF日志:宕机了,Redis如何避免数据丢失? - CS408
04 | AOF日志:宕机了,Redis如何避免数据丢失? AOF 日志是如何实现的? 说到日志,我们比较熟悉的是数据库的写前日志(Write Ahead Log, WAL),也就是 说,在实际写数据前,先把修改的数据记到日志文件中,以便故障时进行恢复。不过, AOF 日志正好相反,它是写后日志,“
2022-04-07T01:53:00Z
2022-04-07T01:53:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】04 | AOF日志:宕机了,Redis如何避免数据丢失? AOF 日志是如何实现的? 说到日志,我们比较熟悉的是数据库的写前日志(Write Ahead Log, WAL),也就是 说,在实际写数据前,先把修改的数据记到日志文件中,以便故障时进行恢复。不过, AOF 日志正好相反,它是写后日志,“ <a href="https://www.cnblogs.com/lixuwu/p/16110905.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16107865.html
00-03 开篇词 | 这样学Redis,才能技高一筹 - CS408
背景:通过课程,深入学习redis,而不是片面的了解。 参考极客时间 《146-Redis核心技术与实战》 再推荐一个redis知识点总结的网站,感觉都有覆盖,讲的也很好 http://c.biancheng.net/redis/what-is-redis.html 00|开篇词 | 这样学Redi
2022-04-06T10:27:00Z
2022-04-06T10:27:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:通过课程,深入学习redis,而不是片面的了解。 参考极客时间 《146-Redis核心技术与实战》 再推荐一个redis知识点总结的网站,感觉都有覆盖,讲的也很好 http://c.biancheng.net/redis/what-is-redis.html 00|开篇词 | 这样学Redi <a href="https://www.cnblogs.com/lixuwu/p/16107865.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16098388.html
TCP 为什么三次握手而不是两次握手(转正解版) - CS408
背景:真正理解三次握手,四次挥手 转载: TCP 为什么三次握手而不是两次握手(正解版) 结论 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号
2022-04-04T01:26:00Z
2022-04-04T01:26:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:真正理解三次握手,四次挥手 转载: TCP 为什么三次握手而不是两次握手(正解版) 结论 为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号 <a href="https://www.cnblogs.com/lixuwu/p/16098388.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16072423.html
JAVA面试——基础知识 - CS408
背景:整理java面试过程中的基础知识 java IO相关知识点 java IO之BIO NIO AIO
2022-03-29T08:15:00Z
2022-03-29T08:15:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:整理java面试过程中的基础知识 java IO相关知识点 java IO之BIO NIO AIO <a href="https://www.cnblogs.com/lixuwu/p/16072423.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16060421.html
idea 脚手架 - CS408
背景:创建脚手架的目的是为了能够快速的动手验证和创建工程 减少不必要的时间消耗 springboot整合mybatis SpringBoot+MySQL+MyBatis的入门教程
2022-03-26T11:09:00Z
2022-03-26T11:09:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:创建脚手架的目的是为了能够快速的动手验证和创建工程 减少不必要的时间消耗 springboot整合mybatis SpringBoot+MySQL+MyBatis的入门教程 <a href="https://www.cnblogs.com/lixuwu/p/16060421.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/lixuwu/p/16006879.html
java stream操作 - CS408
背景:记录stream常用的操作方式 Java8 使用 stream().sorted()对List集合进行排序 倒序 升序 和多条件判断
2022-03-14T23:38:00Z
2022-03-14T23:38:00Z
CS408
https://www.cnblogs.com/lixuwu/
【摘要】背景:记录stream常用的操作方式 Java8 使用 stream().sorted()对List集合进行排序 倒序 升序 和多条件判断 <a href="https://www.cnblogs.com/lixuwu/p/16006879.html" target="_blank">阅读全文</a>