架构师 week9 作业
请简述 JVM 垃圾回收原理。
简单地说就是先标记,再回收。
标记:从局部变量或静态变量出发,将这些变量引用的对象进行标记,然后再看这些被标记的对象是否引用了其他对象,继续进行标记,所有被标记过的对象都是被使用的对 象,而那些没有被标记的对象就是可回收的垃圾对象了。
回收有三种方法:清理,压缩,复制
清理:就是把可回收对象的空间标记为空闲空间,记录在一个列表中,当需要分配空间时,从这个列表中拿
压缩:将存活对象拷贝到从堆栈头开始的连续空间里,剩下的就是连续空间就是空闲空间
复制:将堆栈分成两个区,等第一个区满了,把存活对象复制到另一个区里,第一个区就成了空闲区了
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
设计一个秒杀系统主要挑战和问题有:
瞬间高并发,带来问题是网络带宽耗尽,服务器高 load 直至崩溃,数据库瘫痪
跳过秒杀开关,直接调用后面下单 url
核心思路如下:
评论