写点什么

架构师训练营 1 期 - 第九周 - 性能优化 3

用户头像
三板斧
关注
发布于: 2020 年 11 月 20 日
  • 请简述 JVM 垃圾回收原理。

JVM 垃圾回收就是将 JVM 堆中的已经不再被使用的对象清理掉,释放宝贵的内存资源

JVM 通过一种可达性分析算法进行垃圾对象的识别,具体过程是:从线程栈中的局部变量,或者是方法去的静态变量触发,将这些变量引用的对象进行标记,然后看这些被标记的对象是否引用了其它对象,继续进行标记,所有被标记过的对象都是被使用的对象,而那些没有被标记的对象就是可回收的垃圾对象。


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


1、静态化

采用 JS 自动更新技术将动态页面转化为静态页面

2、控制并发

设置阈门,只放最前面的一部分人进入秒杀系统

3、简化流程

开掉不中的分支流程,如下单的所有数据库查询

4、JVM 优化

优化 CMS 垃圾回收器的参数

5、服务隔离

单独把秒杀系统独立出来

6、引入中间件

如 redis 解决分布式锁的问题,mq 消息队列将大量的请求依次消费,保证数据库不被并发请求。


采用更轻量库啊苏的服务器

前端优化自动化

假设镜像站组建山寨 CDN

采用反向代理 加速核心页面

海量数据的透明垂直切分,做好异地多活


用户头像

三板斧

关注

程咬金的三板斧 2018.10.08 加入

1、原理 2、实践 3、总结

评论

发布
暂无评论
架构师训练营 1 期 - 第九周 - 性能优化 3