【架构师训练营第 1 期 09 周】 学习总结
【架构师训练营第 1 期 09 周】 学习总结
本周老师继续讲解了系统优化的各种手段。
9.1 讲解数据库执行 SQL 的过程,还有索引的类型和 SQL 优化方法。
9.2 讲解 JVM 虚拟机的架构,从 java 文件到 class 文件,再到对象在内存中的运行和创建。这部分还没有理解透彻,需要加深理解。
9.3 讲解 JVM 垃圾回收的原理,以前基本很少体验到垃圾回收的操作,因为对开发基本是无感的。但是到了遇到故障比如 oom 的时候,会发现系统卡着一段时间之后突然又能运行一段时间,其实就是 GC 在帮忙垃圾回收让系统可以继续有内存工作一段时间。最好还是模拟一个 oom 的场景,用老师教的 jvm 各种命令去看真实的状态;
9.4 讲解了 JAVA 代码优化技巧和原理,详细说明多线程的开发注意事项,以及最大线程数计算,之前开发的时候多个定时器开着多线程跑任务就导致 oom 了。
9.5&9.6 通过案例讲解了秒杀系统的挑战和应对措施,通过一些基础的功能也可以有效应对并发处理,不一定要使用很多组件。“大巧不工”估计就是形容这种方案了。当然还是要有折腾精神,才能不断创新技术进步。
通过这 3 周性能优化的学习,感觉到系统优化要对系统整体的架构思维。要明白每一环节技术逻辑的实现原理,才能针对性地进行优化,不然去看到网上介绍换一个中间件或者学习一段代码,可能也能解决问题,也不知道具体解决的原因,所以要尽量多了解系统底层知识,不能只看 JAVA 或者 Spring boot 的知识。
版权声明: 本文为 InfoQ 作者【Bear】的原创文章。
原文链接:【http://xie.infoq.cn/article/5f336169f79bdcae964424182】。文章转载请联系作者。
评论