02__内存池:如何提升内存分配的效率?
你好,我是陶辉。
上一讲我们提到,高频地命中 CPU 缓存可以提升性能。这一讲我们把关注点从 CPU 转移到内存,看看如何提升内存分配的效率。
或许有同学会认为,我又不写底层框架,内存分配也依赖虚拟机,并不需要应用开发者了解。如果你也这么认为,我们不妨看看这个例子:在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这样呢?
你好,我是陶辉。
上一讲我们提到,高频地命中 CPU 缓存可以提升性能。这一讲我们把关注点从 CPU 转移到内存,看看如何提升内存分配的效率。
或许有同学会认为,我又不写底层框架,内存分配也依赖虚拟机,并不需要应用开发者了解。如果你也这么认为,我们不妨看看这个例子:在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这样呢?
你好,我是高伟。准备好纸和笔了吗?让我们一起来学习视觉笔记。
这一节课我们来学习“人物”这个视觉元素。有的课程会把人物的绘画放在教程中比较靠后的位置,因为人物在视觉呈现里其实是比较难画的一种元素。
你好,我是胡夕。今天我来讲讲 Kafka 源码的日志(Log)对象。
上节课,我们学习了日志段部分的源码,你可以认为,日志是日志段的容器,里面定义了很多管理日志段的操作。坦率地说,如果看 Kafka 源码却不看 Log,就跟你买了这门课却不知道作者是谁一样。在我看来,Log 对象是 Kafka 源码(特别是 Broker 端)最核心的部分,没有之一。
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。
你好,我是吴骏龙。今天我会和你分享容量测试与验证的话题。
相对于性能测试和压力测试这些耳熟能详的名词,“容量测试”这个词也许你是第一次听到。在百度、Google 上一搜,结果倒是不少,但很多解释过于陈旧,并没有跟上互联网的发展速度。比如:
你好,我是黄勇。在开始今天的内容之前,我想先问你一个问题:在职场中,你最痛恨的事情是什么呢?
对我而言,最痛恨的事情莫过于:HR 突然发给我一张表格,让我月底之前给团队做完绩效考核,HR 将基于此考核结果来计算员工奖金。
上一篇文章中,我介绍了秒杀系统在架构上要考虑的几个原则,我估计你很快就会问:“知易行难,这些原则应该怎么应用到系统中呢?”别急,从这篇文章开始,我就会逐一介绍秒杀系统的各个关键环节中涉及的关键技术。
你好,我是邱岳,今天我要和你分享的主题是:如何锤炼产品创意。
在充分收集信息、了解领域知识和市场情况之后,在开始投入资源进行产品设计和研发之前,我们需要做个简单的推演。这是锤炼自己产品创意的第一步,无论产品形式,都应该有这个过程。
你好,我是曹倩芸。在开始本节课程之前,我想让你先看看以下三个例子,并基于你已有的文学素养和基础,判断一下它们的结构是否存在问题?或者说,在你看来,它们是否是病句呢?
你好,我是相辉。
在我过去十几年的咨询工作中,经常会遇到一个问题:面对五花八门的用户需求,到底哪一个才是具有商业化潜能,需要我们集中兵力去做的?
因为并不是所有的业务方向都能帮助企业成长发展,作为商业顾问,我需要确定该需求最终能够成为一个正向现金流的循环,它可以逐渐自转起来,从而帮企业实现盈利。