架构师训练营 第九周 作业

用户头像
CR
关注
发布于: 2020 年 08 月 05 日
  • 请简述 JVM 垃圾回收原理。



JVM通过一种可达性分析算法进行垃圾对象的识别,具体从线程的栈帧中的局部变量或者方法区的静态变量出发,将这些变量锁引用的对象进行标记,然后再将被标记的对象锁引用的对象进行标记如此递归,剩余未标记的对象就是不会被用到的对象,则当作垃圾对象进行回收。

回收主要有三种方法

  1. 清理:将垃圾对象标记为空闲,后续可以将空闲内存分配给新对象

  2. 压缩:从堆空间的头部开始,将存活的对象拷贝到连续的内容空间,空出连续的内存空间

  3. 复制:将堆分为两部分,只在其中一部分创建对象,当这部分内存使用完时,拷贝标记的可用对象到另一个空间中



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

秒杀系统主要挑战是瞬时的高并发请求可能导致网络带宽耗尽、服务资源不足、数据库崩溃等问题。

主要的处理思路是:

  • 中间件升级:升级服务器

  • 缓存:静态化页面、CDN、反向代理

  • 限流:多级阀门控制秒杀请求

  • 优化应用:简化不重要的分支流程、优化前端提升响应速度、垂直切分



用户头像

CR

关注

还未添加个人签名 2018.09.23 加入

还未添加个人简介

评论

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