21__为什么我只改一行的语句,锁这么多?
在上一篇文章中,我和你介绍了间隙锁和 next-key lock 的概念,但是并没有说明加锁规则。间隙锁的概念理解起来确实有点儿难,尤其在配合上行锁以后,很容易在判断是否会出现锁等待的问题上犯错。
在上一篇文章中,我和你介绍了间隙锁和 next-key lock 的概念,但是并没有说明加锁规则。间隙锁的概念理解起来确实有点儿难,尤其在配合上行锁以后,很容易在判断是否会出现锁等待的问题上犯错。
你好,我是唐扬。
通过前面几个篇章的内容,你已经从数据库、缓存和消息队列的角度对自己的垂直电商系统在性能、可用性和扩展性上做了优化。
现在,你的系统运行稳定,好评不断,每天高峰期的流量,已经达到了 10000/s 请求,DAU 也涨到了几十万。CEO 非常高兴,打算继续完善产品功能,以便进行新一轮的运营推广,争取在下个双十一可以将 DAU 冲击过百万。这时,你开始考虑,怎么通过技术上的优化改造,来支撑更高的并发流量,比如支撑过百万的 DAU。
你好,我是尉刚强。这节课,我们来讲讲如何利用 Pipeline 来实现更好的性能测试效果。
如果你用过开源数据库 MongoDB,那你可能会遇到或者是听说过一个比较典型的性能问题,也就是 N+1 性能问题。
在上一篇文章中,我介绍了 Web App、Native App 和 Hybrid App 三种不同类型的移动应用以及对应的测试设计方法,也介绍了移动应用所特有的专项测试知识。
今天,我就以移动应用的自动化测试为主题,介绍目前主流的移动应用自动化测试框架 Appium。Appium 是一个开源的自动化测试框架,支持 iOS 和 Android 上 Web App、Native App 和 Hybrid App 的自动化测试。
前面我们多次提到一个累加器的例子,示例代码如下。在这个例子中,add10K() 这个方法不是线程安全的,问题就出在变量 count 的可见性和 count+=1 的原子性上。可见性问题可以用 volatile 来解决,而原子性问题我们前面一直都是采用的互斥锁方案。
极客时间的专栏读者你好,我是邱岳,今天是我们增长部分的最后一篇内容,我们换个角度,一起来聊聊增长黑客的阴暗面。
产品的增长其实并不是被发明的流程,它是一直存在的。人们通过各种方式发现产品和服务(获客),被吸引并动手尝试(激活),成为产品的用户不时地来使用它(留存),为它付费(变现),并推荐给更多的用户(传播)。
今天我们来分析支付前查询订单列表接口。
在这节课中,我将带你来看一下对于一个固定的技术组件,分析优化思路应该是怎样的,也就是说组件不是我们开发的,但是又要分析优化它,我们该怎么办?
你好,我是 Chrono。
到今天为止,课程里的 C++ 知识就全部讲完了。前面我们总共学习了四大模块,我再带你做一个简略的回顾。
在“概论”单元,我带你从宏观的层面上重新认识了 C++,讲了它的四个生命周期和五个编程范式,分别介绍了在编码阶段、预处理阶段、编译阶段,C++ 能够做哪些事情,接着又重点说了在 C++ 里,运用哪些特性才能更好地实践面向对象编程。
16|循环与文件目录管理:如何实现文件的批量重命名?
你好,我是尹会生。
作为产品经理 / 运营,你经常需要做竞品调研,来跟自家产品对比优劣。这时,你就需要下载大量与该类产品相关的图片,并进行整理归类。而归类操作中,必须要走的一步就是对这些图片进行重命名。
18丨CentOS:操作系统级监控及常用计数器解析(下)
在上一篇文章中,我们已经讲了监控系统层面的分析思路以及 CPU 分析,今天我们分析一下操作系统中其他的层面。