- 博客(6)
- 收藏
- 关注
原创 在操作系统写回策略中,如果未命中cache,为何要先将数据读进cache再修改?
如果当发生写操作时,数据已经在 CPU Cache 里的话,则把数据更新到 CPU Cache 里,同时标记 CPU Cache 里的这个 Cache Block 为脏(Dirty)的,这个脏的标记代表这个时候,我们 CPU Cache 里面的这个 Cache Block 的数据和内存是不一致的,这种情况是不用把数据写到内存里的;因此,正确的做法是将[10, 20, 30, 40]整体读入cache,再在其中将30修改为100。如果是脏的话,我们就要把这个 Cache Block 里的数据写回到内存,然。
2025-03-21 20:41:27
840
原创 对比总结 SO_REUSEADDER、SO_REUSEPORT 和 net.ipv4.tcp_tw_reuse 这三个配置选项
今天还是看的小林coding TCP 篇,感觉 SO_REUSEADDER 和 net.ipv4.tcp_tw_reuse 从功能上来说非常的相似,于是查了一下,对比一下这三个和 TCP配置相关的选项。
2025-03-19 20:04:59
251
原创 关于tcp和ip分片的两个问题
IP 是面向无连接的,而 TCP 是面向连接的,但网络中并不只有 TCP,还有 UDP、ICMP、GRE、ESP 等协议,这些协议也要通过 IP 进行数据传输。以UDP 为例,它没有 TCP 那样的流控和分片重组能力,如果 IP 层不支持分片,UDP 大包就无法在某些网络上正确传输。
2025-03-18 21:02:46
188
原创 UDP的包长度(length)是冗余的吗
如果去掉 UDP 的「包长度」字段,那 UDP 首部长度就不是 4 字节的整数倍了,所以我觉得这可能是为了补全 UDP 首部长度是 4 字节的整数倍,才补充了「包长度」字段。第二种说法:如今的 UDP 协议是基于 IP 协议发展的,而当年可能并非如此,依赖的可能是别的不提供自身报文长度或首部长度的网络层协议,因此 UDP 报文首部需要有长度字段以供计算。虽然 UDP 主要运行在 IP 之上,但它也可能被封装在其他协议中(如 MPLS、GRE),此时 没有 IP 长度字段可用,UDP 长度就很重要了。
2025-03-17 22:02:00
126
原创 如何理解重写的方法不能比被重写的方法有更低的访问权限(Java)
如果子类将父类的public方法重写为private,那么虽然父类方法在父类对象中是public的,但对于父类的引用指向子类的对象时,由于子类的重写方法是private,就会,因为private方法只能在子类内部访问,而不能被外部访问。在继承的关系中,父类和子类之间是有一个的。父类的方法公开(public)是对外提供的接口,子类重写父类方法时,应该保持这个接口的可用性。如果子类将父类的public方法重写为private,就会导致外部代码无法通过父类的public。
2025-02-26 11:27:08
184
原创 无法远程连接阿里云服务器MySQL数据库的解决方法
网上给的解决方案已经很多了,然而在尝试开放3306端口和用户授权两个解决方法后依旧无法连接。最后的解决方法是还要打开ECS安全组规则。点击”安全组“,然后点”管理规则“。点击快速添加,勾选上3306端口。配置完之后记得重启一下云服务器。然后就可以远程连接上了~
2025-02-24 17:56:28
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人