架构师训练营第 1 期 week9
1、请简述 JVM 垃圾回收原理。
采用分代回收,刚实例化时,会进入年轻代 eden,当年轻代满了以后会进行年轻代的 GC,存活的对象会进入 from 区,再次满了之后会将存活的对象放入 to 区,此时将 to 区改为 from 区,from 区改为 to 区,每次 GC 对象的年龄就会累计,当达到一定年龄后会进入老年代,当老年代满了以后会执行 fullGC。
2、设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
主要挑战:如何处理比平时多好多倍的并发,如何处理带宽耗尽的问题,如何防止时间未到时用户直接进行下单
核心架构方案:
1、将动态页面静态化处理。
2、设置多重阀门,控制进入某个流程的人数,比如进入购买的控制在某个人数,超了的用户可以提示秒杀已结束,填写订单的控制在某个人数,下单的控制在某个数等等。
3、去掉不必要的流程,减少数据库的查询。
4、商品页面和详情页面加载指定空白的 js,js 带随机版本号,秒杀开始前将相关信息写入。
评论