摘要: 背景:一生中注定要换很多次的工作,而每次找工作之前都要做好充分的准备,每次做一些记录,做时间的朋友。 java面试——多线程 java面试——jvm java面试——问题回溯 面试篇——mysql java面试-设计模式 面试篇——linux命令 java面试——spring JAVA面试——基础知 阅读全文
posted @ 2017-11-29 14:44 CS408 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 背景:为了查看日志方便 记录less命令的使用 Linux less命令详解(9个实用案例演示) 里面有案例的详细演示 命令记录 命令解释 1.命令格式: less [参数] 文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向 阅读全文
posted @ 2022-09-21 17:15 CS408 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 背景:在学习性能优化的知识时,发现一个因为正则表达式引起的性能下降问题,记录下来 藏在正则表达式里的陷阱 转载 藏在正则表达式里的陷阱 通过java自带的线程dump工具 发现出问题的线程 是字符串的校验 ps:也可以通过代码注释的方式,发现出问题的地方就是正则校验 其实这里导致 CPU 使用率高的 阅读全文
posted @ 2022-04-28 09:55 CS408 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 背景:理解下述名词 参考 搞懂异地多活,看这篇就够了 好了,总结一下这篇文章的重点。 1、一个好的软件架构,应该遵循高性能、高可用、易扩展 3 大原则,其中「高可用」在系统规模变得越来越大时,变得尤为重要 2、系统发生故障并不可怕,能以「最快」的速度恢复,才是高可用追求的目标,异地多活是实现高可用的 阅读全文
posted @ 2022-04-19 11:42 CS408 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 背景:学习材料《227-Spring Cloud 微服务项目实战》 227-Spring Cloud 微服务项目实战 简介 在上面这幅图中,我们可以看到有几个 Spring Boot Apps 的应用集群,这就是经过拆分 后的微服务。Spring Cloud 和 Spring Boot 达成了一种默 阅读全文
posted @ 2022-04-18 12:21 CS408 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 背景:感觉还可以,做个记录 今天这讲我们继续来聊聊锁优化。上一讲我重点介绍了在 JVM 层实现的 Synchronized 同步锁的优化方法,除此之 外,在 JDK1.5 之后,Java 还提供了 Lock 同步锁。那么它 有什么优势呢? 相对于需要 JVM 隐式获取和释放锁的 Synchroniz 阅读全文
posted @ 2022-04-12 12:42 CS408 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 背景:感觉讲的不错,可以学习理解 你好,我是刘超。从这讲开始,我们就正式进入到第三模块——多线程性能调优。 在并发编程中,多个线程访问同一个共享资源时,我们必须考虑如何维护数据的原子性。在 JDK1.5 之前,Java 是依靠 Synchronized 关键字实现锁功能来做到这点的。 Synchro 阅读全文
posted @ 2022-04-12 12:29 CS408 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 上节课,我提到,在应对并发问题时,除了原子操作,Redis 客户端还可以通过加锁的方 式,来控制并发写操作对共享数据的修改,从而保证数据的正确性。 但是,Redis 属于分布式系统,当有多个客户端需要争抢锁时,我们必须要保证,这把锁 不能是某个客户端本地的锁。否则的话,其它客户端是无法访问这把锁的, 阅读全文
posted @ 2022-04-08 10:26 CS408 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 10 | 第1~9讲课后思考题答案及常见问题答疑 第 1 讲 问题:和跟 Redis 相比,SimpleKV 还缺少什么? @曾轼麟、@Kaito 同学给出的答案都非常棒。他们从数据结构到功能扩展,从内存效率到 事务性,从高可用集群再到高可扩展集群,对 SimpleKV 和 Redis 进行了详细 阅读全文
posted @ 2022-04-07 17:32 CS408 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 我曾遇到过这么一个需求:要用 Redis 保存 5000 万个键值对,每个键值对大约是 512B, 为了能快速部署并对外提供服务,我们采用云主机来运行 Redis 实例,那么,该如何选择 云主机的内存容量呢? 我粗略地计算了一下,这些键值对所占的内存空间大约是 25GB(5000 万 *512B)。 阅读全文
posted @ 2022-04-07 15:58 CS408 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形 成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。 但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能正常 切换吗? 实际上,一旦多个实例组成了哨兵集群,即使有哨兵实例出 阅读全文
posted @ 2022-04-07 15:42 CS408 阅读(39) 评论(0) 推荐(0) 编辑