架构师训练营第九周作业
作业一:
请简述 JVM 垃圾回收原理。
JVM垃圾回收是将堆内存中不再被使用的对象清理掉,释放内存资源的过程。
JVM通过可达性分析算法进行垃圾对象的识别。
垃圾回收的三种方法:
1). 清理:将垃圾对象占据内存清理掉;空闲列表标记对象;对象碎片
2). 压缩:存活对象拷贝存放在连续内存
3). 复制:堆空间分为两部分;一部分用完的时候,存活对象复制到另一个空间
分代垃圾回收
新生代:eden区、From区、To区 ;YoungGC
通过复制方法进行垃圾回收;对象->eden区->From区->To区
老年代:FullGC
标记-清除,标记-整理方法进行垃圾回收;
5.垃圾回收器算法
1).串行回收器:stop the world;单线程
2).并行回收器:stop the world;多线程
3).CMS:初始标记->并发标记->重标记(stop the world)->并发清理
4).G1:将堆分为大小相等的 Region,避免全区域的垃圾回收
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
1.挑战和问题:
1).对现有网站业务造成冲击
2).高并发下的应用、数据库负载
3).突然增加的网络及服务器带宽
4).直接下单
2.核心的架构方案或者思路
1).秒杀系统独立部署
2).秒杀商品页面静态化
3).租借秒杀活动网络带宽
4).动态生成随机下单页面URL
评论 (1 条评论)