[转帖]一次SpringBoot版本升级,引发的血案

https://z.itpub.net/article/detail/B6495288E725529E58105397659A08EB 前言 近项目组升级了SpringBoot版本,由之前的2.0.4升级到新版本2.7.5,却引出了一个大Bug。 到底是怎么回事呢? 1.案发现场 有一天,项目组的同

[转帖]21个MySQL表设计的经验准则

https://juejin.cn/post/7147135702604447758 前言 大家好,我是捡田螺的小男孩。 作为后端开发,我们经常需要设计数据库表。整理了21个设计MySQL表的经验准则,分享给大家,大家看完一定会有帮助的。 公众号:捡田螺的小男孩 1.命名规范 数据库表名、字段名、索

[转帖]程序员版本的八荣八耻,爱了

https://juejin.cn/post/7105604721028628511 前言 大家好,我是捡田螺的小男孩。 最近整理了一个关于程序员版本的八荣八耻,还挺有意思的。给大家娱乐一下,哈哈~ 公众号:捡田螺的小男孩 我的github地址,感谢给个star 1. 以接口兼容为荣,以接口裸奔为耻

[转帖]线程池使用的10个坑

https://juejin.cn/post/7132263894801711117 前言 大家好,我是捡田螺的小男孩。 日常开发中,为了更好管理线程资源,减少创建线程和销毁线程的资源损耗,我们会使用线程池来执行一些异步任务。但是线程池使用不当,就可能会引发生产事故。今天田螺哥跟大家聊聊线程池的10

[转帖]优秀后端都应该具备的开发好习惯

https://juejin.cn/post/7157508782874968094 前言 大家好,我是捡田螺的小男孩。 记录一下一个优秀的后端开发程序员,应该有哪些好的开发习惯。 公众号:捡田螺的小男孩 github地址,感谢每颗star:github 1.注释尽可能全面,写有意义的方法注释 接口

[转帖]用了这18种方案,接口性能提高了100倍!

https://juejin.cn/post/7167153109158854687 前言 大家好,我是捡田螺的小男孩。 之前工作中,遇到一个504超时问题。原因是因为接口耗时过长,超过nginx配置的10秒。然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s降为170ms。本文将跟小伙伴们分

[转帖]面试必备!TCP协议经典十五连问!

https://juejin.cn/post/6983639186146328607 前言 TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀 公众号:捡田螺的小男孩 github地址,感谢每一颗star 1. 讲下TCP三次握手流程 开始客户端和

[转帖]看一遍就理解:零拷贝原理详解

https://juejin.cn/post/7043948967729561607 前言 大家好,我是程序员田螺。 零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝

[转帖]两万字详解InnoDB的锁

https://juejin.cn/post/7094049650428084232 前言 大家好,我是捡田螺的小男孩。本文将跟大家聊聊InnoDb的锁,以及如何分析和解决死锁问题,希望对大家有帮助哈。 为什么需要加锁呢? InnoDB的七种锁介绍 一条SQL是如何加锁的 RR隔离级别下的加锁规则

[转帖]在阿里,我们如何管理测试环境

在阿里,我们如何管理测试环境 前言 阿里的许多实践看似简单,背后却蕴涵着许多思考,譬如测试环境的管理。 互联网产品的服务通常是由Web应用、中间件、数据库和许多后台业务程序组成的,一套运行环境就是一个自成一体的小生态。最基本的运行环境是线上环境,部署产品的正式发布版本,为用户提供持续可靠的服务。 除

[转帖]sar命令查看历史数据

https://www.jianshu.com/p/d1f0f2a99ffe 前言 有的时候,我们要通过对系统的cpu负载等性能数值的查看,来判排查系统产生某种故障(经常死机或者运行速度突然变慢)的原因。但是,简单的top,uptime,w等命令只可以查看当前的负载,而无法查看过去的某一时间段的cp

[转帖]分享自己做的一个指定进程以及线程长时间cpu监控的工具

https://cdn.modb.pro/db/329601 前言: 前面给大家分享过一个工作中用到的编译拷贝脚本,其实工作中还有一些其他工具的使用,今天再来分享一个自己纯手工的CPU监控的脚本。大家可以结合上篇文章与本篇文章一起学习shell。 主要实现功能: 1.监控指定进程是否运行 2.读取该

[转帖]Redis由浅入深深深深深剖析

https://juejin.cn/post/6844903943688945677 前言 常用的SQL数据库的数据都是存在磁盘中的,虽然在数据库底层也做了对应的缓存来减少数据库的IO压力,但由于数据库的缓存一般是针对查询的内容,而且粒度也比较小,一般只有表中的数据没有发生变动的时候,数据库的缓存才

[转帖]Nginx 禁止直接访问目录或文件的操作方法

https://www.jb51.net/article/266355.htm 前言 Nginx 默认是不允许列出整个目录的。 如需此功能,打开 nginx.conf 文件或你要启用目录浏览虚拟主机的配置文件,在 location server 或 http 段中加入 1 autoindex on;

[转帖]内存管理干货推荐:巨页HugePage

https://zhuanlan.zhihu.com/p/542132384 前言: 巨页的提出初衷是提供对内存使用量大的进程在某些场合下能拥有更好的性能的一种策略。巨页的定义有些含糊,按照最初提出patchset的人的意思,只要大于系统默认PAGE_SIZE的页,都可以称之为巨页。巨页从2.6发展

[转贴]win10临时修改、永久cmd 编码格式的方法

https://www.jianshu.com/p/40a9fbaf1cac cmd 前言 有时候,运行一些命令行程序某些字符无法正常显示,常见的就是方块,或者是火星文字都是由于 cmd 程序的默认编码格式为 "GBK - 中文简体" 或其他编码格式,导致某些字体不能正常显示 一、临时修改 首先查看

[转帖]RabbitMQ学习笔记03:Work Queues

参考资料:RabbitMQ tutorial - Work Queues — RabbitMQ 前言 这篇文章我们会创建一个Work Queue,它会在多个worker(即消费者 consumer)中分发耗时的任务。Work Queue也叫做Task Queue是为了避免当处理一个占用资源的任务时必

[转帖]RabbitMQ学习笔记04:Publish/Subscribe

参考资料:RabbitMQ tutorial - Publish/Subscribe — RabbitMQ 前言 在 RabbitMQ学习笔记03:Work Queues 中,每个进入队列中的消息只会被投递给一个消费者进程。而在这篇文章中,我们将会把一条消息同时投递给多个消费者进程。这种模式也叫做p

[转帖]RabbitMQ学习笔记05:Routing

参考资料:RabbitMQ tutorial - Routing — RabbitMQ 前言 在之前的文章中我们构建了一个简单的日志系统,它可以广播消息到多个消费者中。 在这篇文章中,我们打算实现仅订阅消息的子集(即不是所有的消息,仅仅只是一部分消息。注意,这里不是说一条消息的一部分)。例如我们只会

[转帖]AMD 64核搅局工作站市场:Dell Precision 7865技术解析

https://zhuanlan.zhihu.com/p/568122086 前言:连Intel自己都承认,代号Sapphire Rapids的下一代Xeon Scalable延期到明年上半年,给AMD服务器CPU提高占有率创造了机会。如果Intel当初能预测到今天的局面,会不会在工作站上也引入第三