Week 09 作业
作业一:
请简述 JVM 垃圾回收原理。
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
JVM垃圾回收原理
JVM的垃圾回收即将JVM堆中的已经不再使用的对象清理掉,释放堆内存
通过可达性算法进行垃圾对象标识,标记被引用的对象,没有被标记的对象就是可回收的垃圾对象
回收的三种方法:清理(标记空闲,记录在空闲列表中),压缩(整理内存碎片,让内存连续),复制(一部分创建对象,空间用完后,将标记过的对象复制到另一空间)
回收方式:分代垃圾回收,垃圾回收器算法
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
a) 秒杀系统主要的挑战和问题
安全:比如放秒杀器
瞬间高并发,网络带宽耗尽
服务器CPU负载过高
数据库瘫痪
2)方案:
前端优化:静态网页,剥离动态的内容,越简单越好,减少请求数据量
限流:合理使用熔断机制,设置阀门,只放最前面一部分人进入秒杀系统
缓存机制:根据QPS合理设计缓存系统,减少数据库的访问,采用内存缓存
简化流程:砍掉不必要的分支流程
评论