写点什么

极客时间架构师训练营 - week9 - 作业 2

用户头像
jjn0703
关注
发布于: 2020 年 08 月 05 日

根据当周学习情况,完成一篇学习总结

本周的课程的主题依然是“性能优化是架构师展现自己技能全面性的时刻”,第一次主要讲解的内容是JVM相关的知识,具体包括JVM的原理、组成架构、字节码及其编译与执行流程、类加载器的双亲委托模型、堆、栈、方法区、程序计数器、垃圾回收算法、Stop the world、Java启动参数、Jps、Jstack、Jmap、JConsole等一系列性能诊断工具等。与这些知识一起的是,对应的Java代码优化方面的考虑,包括合理使用多线程、 ThreadLocal类、Java内存泄漏等。第一次课程涉及的内容非常多,课程当天直播看完之后我又重新看了一遍回放。我个人印象比较深刻的几点:

① JVM运行时的内存模型,各种值是存在了堆、栈还是方法区,我们要试着从原理角度分析何为线程安全,何为不安全;

② JVM的垃圾回收算法,这块是JVM做的很关键的一部分,面试也经常会考这个吧;

③ JDK提供的这些工具,除了jps在工作中用到,其他我还不熟悉,需要补充学习一下;

④ ThreadLocal类,存储每个线程独有的变量。在项目中也有用到过,在API网关上利用ThreadLocal来计算转发请求前后的耗时等。

第二次讲解的内容是体现高性能的典型场景——秒杀。老师举了几个例子,一个是淘宝的秒杀案例,一个是同学的公司案例。秒杀的案例,要求短时间实现,且还要留足时间验证。秒杀的核心思路,是利用CDN等技术,将到达后台系统的流量控制到系统可以接受的范围,涉及的方法有:页面静态化、并发控制、简化流程、优化前端等。后台还需要尽可能单独抽出来一套,以最简化的流程来实现业务。

课程里,我还记得几个很重要的点。首先,学习知识要尽可能的由点连成线,线组成面,这样既不容易遗忘,也能有更好的大局观,不会管中窥豹。另外,我们在平常的工作与生活里,储备知识的同时,也要敢于面对挑战,有机会的时候一定要去争取。

发布于: 2020 年 08 月 05 日阅读数: 47
用户头像

jjn0703

关注

Java工程师/终身学习者 2018.03.26 加入

USTC硕士/健身健美爱好者/Java工程师.

评论

发布
暂无评论
极客时间架构师训练营 - week9 - 作业 2