架构一期第九周作业
作业一:
(至少完成一个)
请简述 JVM 垃圾回收原理。
JVM 通过对堆内存中数据的标记,来将一些已经不用的但是还是在内存中存在的数据进行分类,清理通常使用的方法有:
清理:将垃圾对象占据的内存清理掉,其实 JVM 并不会针真的将这些垃圾内存进行清理,而是将这些垃圾对象占用的内存空间标记为空闲,记录在一个空闲列表里,当应用程序需要创建新对象的时候,就从空闲列表中找一段空闲内存分配给这个新对象。
压缩:从堆空间的头部开始,将存货的对象拷贝放在一段连续的内存空间中,那么其余的空间就是连续的空闲空间
复制:将堆空间分成两部分,只在其中一部分创建对象,当这个部分空间用完的时候,将标记过的可用对象复制到另一个空间中
设计一个秒杀系统,主要的挑战和问题有哪些?核心的架构方案或者思路有哪些?
秒杀系统需要面对的问题:
网络带宽耗尽
服务器 load 飙高,停止响应
数据库瘫痪等
应对方法:
服务器准备:做一套全新的系统用来应对秒杀
带宽准备:本地带宽配合 CDN 减少带宽 小的压力
作业二:
根据当周学习情况,完成一篇学习总结
版权声明: 本文为 InfoQ 作者【Airs】的原创文章。
原文链接:【http://xie.infoq.cn/article/e9b00944b3bd5043328f32119】。未经作者许可,禁止转载。
评论