首页
学习
活动
专区
工具
TVP
发布

图解系列

专栏作者
27
文章
4480
阅读量
13
订阅数
总说上下文切换耗性能,那他到底耗了多少性能?
   众所周知,操作系统是一个分时复用系统,通过将CPU时间分为好几份。系统在很短的时间内,将 CPU 轮流分配给它们,从而实现多任务同时运行的错觉。    伴随着的还有一个词是上下文切换,无论在工作中还是面试中,我们总会听到要减少线程、进程的上下文切换,因为上下文切换的代价比较高,会影响性能。     今天我们就来详细说说上下文切换到底在切换什么,以及如何可视化的观察上下文切换的代价,它是怎么影响程序性能的。
公众号 云舒编程
2024-03-13
1070
GO依赖管理,看这篇就够了
Golang在项目早期只是单纯的使用GoPath进行依赖管理,但是GoPath无法管理同一个依赖的不同版本,并且由于把所有的依赖都放在同一个路径下,对于多项目的依赖管理非常不方便,于是增加了vendor,运行把依赖和项目放在一起,但是依旧没有解决版本问题,导致依赖关系不清楚,升级困难。在这段期间,也出现了很多第三方依赖管理工具,有点百家争鸣的意思。 直到Go 1.11官方才推出了依赖管理工具Go Module,才统一了六国,正式进入了“书同文 车同轨”的时代。
公众号 云舒编程
2024-02-21
1350
五分钟教你彻底解决MySQL中文乱码
还没等我反应过来,一个视频会议电话已经打进来了。作为社畜只能默默放下手机,打开电脑接入会议。
公众号 云舒编程
2024-01-31
2330
万字图解 | 深入揭秘HTTP工作原理
大家好,我是「云舒编程」,今天我们来聊聊计算机网络面试之-(应用层HTTP)工作原理。
公众号 云舒编程
2024-01-25
2110
万字图解| 深入揭秘Golang锁结构:Mutex(下)
    书接上回,在万字图解| 深入揭秘Golang锁结构:Mutex(上)一文中,我们已经研究了Golang mutex V1和V2版本的实现。接下来我们继续研究V3和V4版本的实现。
公众号 云舒编程
2024-01-25
1030
万字图解| 深入揭秘Golang锁结构:Mutex(上)
   Golang的Mutex算是在日常开发中最常见的组件了,并且关于锁的知识也是面试官最喜欢问的。    曾经在一次腾讯面试中,被面试官问得体无完肤。    虽然Golang Mutex只有短短的200多行,但是已经是一个极其丰富、精炼的组件,有极其复杂的状态控制。我已经看过很多次Mutex的源码,但是总是过段时间就会又处于懵逼状态,不得其道。分析下来,猜测是缺少“历史背景”,一上来就看到的是已经经过好几轮优化的代码,但是不清楚这么优化的背景,同时也缺少一些场景,就会导致无法理解一些设计。    其实如果我们去追溯 Mutex 的演进历史,会发现,Mutex最开始是一个非常简单的实现,简单到难以置信的地步,是Go开发者们经过了好几轮的优化才变成了现在这么一个非常复杂的数据结构,这是一个逐步完善的过程。    于是我想如果我们是设计者,我们会怎么去设计去优化一个锁的实现呢?    下面我将结合我曾经的腾讯面试经历 加上 代入“设计者”的角度出发,结合Mutex 的演进历史,去分析如何设计一个功能完备的锁。希望经过本文的分析,你也可以从零设计出属于你的「Mutex」。    友情提醒:文章很长,但是绝对值得一读。
公众号 云舒编程
2024-01-25
1301
TCP close_wait 引发的血案
大家好,我是「云舒编程」,今天我们来聊聊最近遇到的线上出现大量close_wait导致服务不可用的问题。
公众号 云舒编程
2024-01-25
1860
万字图解| 深入揭秘IO多路复用
     通过前面的文章我们已经了解了「数据包从HTTP层->TCP层->IP层->网卡->互联网->目的地服务器」以及「数据包怎么从网线到进程,在被应用程序使用」涉及的知识。      本文将继续介绍网络编程中的各种细节和IO多路复用的原理。
公众号 云舒编程
2024-01-25
6240
万字图解 | 深入揭秘Linux 接收网络数据包
通过前面的文章我们已经了解了「数据包从HTTP层->TCP层->IP层->网卡->互联网->目的地服务器」这中间涉及的知识。
公众号 云舒编程
2024-01-25
3370
MySQL并发插入导致死锁
某天下午组里有一个对外提供创建租户的接口突然产生了MySQL死锁的报警。 该服务是一个老服务,至少有一年没有人改动过该接口,并且租户这个场景只支持创建和查询,其他能力都不支持。收到报警的一刻,内心充满了疑惑:"这也能死锁?"
公众号 云舒编程
2024-01-25
1740
万字图解 | 深入揭秘TCP工作原理
大家好,我是「云舒编程」,今天我们来聊聊计算机网络面试之-(传输层tcp)工作原理。
公众号 云舒编程
2024-01-25
2660
万字图解 | 深入揭秘IP层工作原理
大家好,我是「云舒编程」,今天我们来聊聊计算机网络面试之-(网络层ip)工作原理。
公众号 云舒编程
2024-01-25
2010
万字图解|深入揭秘(数据链路层、物理层)工作原理
大家好,我是「云舒编程」,今天我们来聊聊计算机网络面试之-(数据链路层、物理层)工作原理。
公众号 云舒编程
2024-01-25
1170
golang rang指针数据的坑
预期输出: 1,2,3,4,5 (不会按序输出,但是每个数字有且只有一次) 实际输出: 4,5,5,5,5
公众号 云舒编程
2024-01-25
730
缓存穿透、雪崩、击穿解决方案
​ 正常情况下,使用缓存的话,大部分数据都会命中缓存(缓存不存在或者过期的话,也只有一次会查询数据库),可以极大的减轻数据库的压力。
公众号 云舒编程
2024-01-25
1600
MySQL-字节千万级数据分页查询优化方案
1、先查询出90万+10条记录的id,回表查询数据,再将90万+10条完整记录发给MySQL以便筛选最后10条; 2、先查询出90万+10条记录的id,筛选出最后10条记录的id再回表查询,最后返回10条完整记录给MySQL。 在回表次数很多(limit决定)的情况下,显然第二种方法是比较快的,但是MySQL默认采用了第一种。
公众号 云舒编程
2024-01-25
1840
图解-Redis主从复制原理
主从复制是指用户可以搭建多个服务器,其中几个服务器当做主服务器,提供写功能。其余的服务器当做从服务器,提供读功能。每当主服务器收到写请求时,同时需要把数据发送给从服务器。保证主从服务器的数据保持最终一致性。利用这个机制,可以利用廉价的服务器搭建高可用,高并发集群。主从复制是搭建高可用集群的必备利器。
公众号 云舒编程
2024-01-25
1670
我理解的幂等
幂等来源于数学概念,幂等元素被重复运算多次,依旧等于自己,即f(f(x)) = f(x); 程序世界里对于幂等,有一个很常见的描述是:对于相同的请求应该返回相同的结果,所以查询类接口是天然的幂等性接口。但是这里有个悖论,如果一个查询接口,在两次查询之间,有一个更新接口对数据进行了更新,那么两次查询的结果就不一致了,那么该查询接口还是幂等接口吗。
公众号 云舒编程
2024-01-25
820
面试之-理解XSS、CSRF攻击原理与实践
xss是指攻击者在目标网站的网页上植入恶意代码,从而对正常用户进行劫持、获取用户隐私信息。
公众号 云舒编程
2024-01-25
2170
golang 实现协程池
go 的 goroutine 提供了一种比线程而言更廉价的方式处理并发场景。相比线程,协程占据更小的内存空间,并且由于是在用户态进行调度,上下文切换的代价更小。所以协程更加容易支撑几万几百万的并发。但 goroutine 太多仍会导致调度性能下降、GC 频繁、内存暴涨, 引发一系列问题。
公众号 云舒编程
2024-01-25
921
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档