周练习 9
请简述 JVM 垃圾回收原理。
标记: 利用可达性分析算法,标记出垃圾对象进行回收
回收:
清理: 将垃圾对象的内存空间标记为空闲
压缩: 从堆空间的头部开始,将存活对象拷贝放在连续的内存空间中,剩余的空间就是空闲的
复制: 将堆空间分成两部分,只在其中一部分创建对象,当这个部分空间用完的时候,将标记过的可用对象复制到另一个空间中。
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
秒杀系统主要的挑战为高并发,表现有:网络带宽耗尽,服务器负载过高,数据库瘫痪,人为的过量访问.
解决思路:
1.增加带宽
2.静态资源缓存,如CDN缓存等等
3.并发控制: 设置阀门,当计数到一定数值后,返回秒杀失败;可以按需求搭配多个阀门
4.简化流程: 下单页面的数据库查询可以考虑精简;秒杀抢单成功需要在一定时间内完成支付等等
评论