写点什么

架构师训练营 第九周【作业】

用户头像
小K
关注
发布于: 2020 年 08 月 05 日

第一题,简述jvm垃圾回收的工作原理。

  • 垃圾回收的作用:就是jvm来自动检测并回收内存中不再使用的java对象,以释放内存。

  • 垃圾回收的思路:可达性分析算法。原理就是,从栈帧中,从静态静态变量出发,将对象的引用,对象引用的对象,层层逐个标记。之后,没有被标记过的,就是需要垃圾回收的对象了。

  • 分代回收:根据对象的生命周期进行回收,这样就能使用不同的回收策略,进一步提高效率。可分为新生代(YG),老年代(OG)等

  • 垃圾回收3种方法:清理、压缩、复制。

  • 垃圾回收经历的阶段:串行、并行、并行CMS、G1回收器。



第二题,设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?

秒杀存在的问题:

某一时刻巨量的网络访问,导致网络带宽耗尽、服务器load满载、数据库压力大瘫痪。

解决思路:

  • 尽可能的减小服务器压力,比如使用页面静态化,将动态页面转静态。限制同时并发的线程数,限制进入系统的人数,支付流程延后等等,这些方法都可以减轻在秒杀时对核心服务器的压力。

  • 优化服务器的设置,提供性能和响应优先的设置,主要也是为了让服务器压力更小,响应更快。

  • 另外采取一些预备方案,比如使用其他备用的或着暂时不常用的业务服务器,暂时用于支撑秒杀的大量业务请求。

  • 善用提示,及时返回页面“秒杀结束”。

用户头像

小K

关注

还未添加个人签名 2019.11.08 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 第九周【作业】