计算机基础
文章平均质量分 90
只是想说清楚每行代码是由谁执行的,怎样执行的。
庞轩px
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第三篇:CPU缓存——为什么有时候改了一行代码,性能差了百倍
本文通过一个Java二维数组遍历的性能差异实验,揭示了CPU缓存机制对程序性能的关键影响。实验显示按行遍历比按列遍历快15倍,这是因为CPU按64字节的"缓存行"读取数据,按行遍历能充分利用缓存的空间局部性。文章进一步解释了多核CPU下的缓存一致性问题,介绍了MESI协议如何维护缓存同步,并分析了"伪共享"现象——当不同线程修改同一缓存行中的不同变量时,会导致性能急剧下降。最后给出了通过填充数据避免伪共享的解决方案,展示了缓存优化对并发程序性能的重要影响。原创 2026-05-12 20:38:23 · 303 阅读 · 0 评论 -
第二篇:内存——你的变量到底存在哪
Java变量的存储位置直接影响性能。内存分为寄存器、缓存和主存,速度依次降低。栈通过指针移动管理,速度快但容量小,适合局部变量;堆需要垃圾回收,速度慢但容量大,存放对象和成员变量。 字符串常量存储在常量池,复用性强。栈的快速访问得益于高缓存命中率,比堆快数十倍。理解变量生命周期和存储机制对优化代码性能至关重要,例如优先使用局部变量减少堆分配。硬件层面的缓存差异是性能差距的核心原因。原创 2026-05-12 00:00:13 · 419 阅读 · 0 评论 -
第一篇:只是想说清楚每行代码是由谁执行的,怎样执行的
本文通过一个简单的Java数据库操作示例,深入剖析了代码执行的完整过程。文章首先指出Java代码需要经过JVM编译和解释才能被CPU执行,强调CPU是唯一能执行指令的硬件。然后详细分解了数据库插入操作的四个阶段:CPU处理业务逻辑、发起网络IO、等待响应和恢复执行,揭示了IO密集型任务中CPU实际工作时间极短的特性。文章还解释了操作系统如何通过上下文切换实现多线程并发执行。最终得出结论:每行代码都由CPU执行,但在IO等待期间CPU会转而处理其他任务,这种机制使得计算机能够高效处理并发请求。原创 2026-05-11 23:58:02 · 313 阅读 · 0 评论
分享