Week9 作业
- 请简述 JVM 垃圾回收原理。 
垃圾定义:不再使用的对象。JVM 会通过可达性分析对象是否不再使用。手段是通过标记方式,如果一个对象没有被标记,则是可回收的对象。
回收:三步,清理、压缩、复制。
回收算法:为了提高回收的效率,一般采用分代回收,分为新生代(Eden)、老年代(From、to)。比如新生成的对象放到 Eden 区,过段时间对 Eden 区进行垃圾回收,而不是新生代和老年代一起回收。等 Eden 如果满了,则会把一些对象迁移到 From 区,From 满了,则从 From 迁移到 to。分代分区回收提高效率,另外每隔一段时间,也会进行 full gc,也就是全部区都会进行回收操作。目前主要的回收器有 G1,CMS。
- 设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些? 
挑战:并发量高、准备时间短。
问题:原有系统性能不足,服务器资源不够,代码优化来不及。
核心架构方案和思路:
- 限流,网关实现限流,如课程中说的三道阀门计算机, 
- 降级,为了保证业务流程可用,暂停部分服务。 
- CDN,减少网络带宽负载 
- 反向代理,增加设备,提高吞吐量。 
- 前端优化,静态资源,浏览器缓存 
- 利用缓存,不走数据库,走缓存。 












 
    
评论