-
程序是怎么一步步变成机器指令的?2024/09/23
今天简单聊聊程序是怎么一步步变成机器指令的。左边是我们写的代码,右边是CPU执行的机器指令:想让CPU执行代码只需要简单的点击一下这个按钮:可是你知道这个按钮的背后经历了哪些复杂的操作,你有没有想过代码是怎么一步步变成机器指令的?程序员编写的程序实际上就是一个字符串,必须得有个什么东西把字符串转变从机器指令,它的输入是......
-
SQLite这么小众的数据库,到底是什么人在用?2024/09/18
前几天在一个群里看到一位同学说:“SQLite这么小众的数据库,到底是什么人在用啊?”首先要说的是 SQLite 可不是小众的数据库,相反,SQLite 是世界上装机量最多的数据库,远超 MySQL,只不过比较低调而已。低调到我想在官网上找一个好看的用来当插图的图片都找不到,只能截一张官网首页来撑一撑,看起来十分朴素。......
-
MySQL 8.2 支持读写分离!2024/08/19
MySQL InnoDB ReplicaSet启动 MySQL Router 8.2结论我们一直在等待的 MySQL 读/写分离功能 现在终于可以使用了!在规模上,我们在副本之间分配读取,但这必须在应用程序中以某种方式进行管理:指向在某个地方写入并在其他地方读取。在 MySQL 8.2 中,MySQL Router 现......
-
面试官:你的项目敏感词脱敏是如何实现的?2024/08/12
这道面试题是一位读者参加美团面试被拷打项目时问到的。这里以这位读者项目中实际使用的方法为例进行介绍。后端返回数据给前端的时候,一般需要对敏感词脱敏,类似于下面这样:脱敏的规则有很多种,例如:替换(常用):将敏感数据中的特定字符或字符序列替换为其他字符。例如,将信用卡号中的中间几位数字替换为星号(*)或其他字符。删除:将......
-
不用一行代码查看方法耗时,这款 IDEA 插件有点酷!2024/08/06
前言没错,又是Cool Request插件,这次引来一个重大更新,可以统计任意方法耗时,先上个图。图片另外,这是此次更新的功能。...
-
TINYINT(1)和BIT(1),到底该用哪个?2024/07/29
在MySQL中,TINYINT(1)和BIT(1)是两种存储布尔值的常用数据类型。虽然它们在某些情况下可以互换使用,但它们有一些关键的区别,适用于不同的应用场景。存储大小和类型`TINYINT是一个整数类型,其默认范围是-128到127(有符号),或者0到255(无符号)。当使用TINYINT(1)时,虽然通常被用来表......
-
21条Linux命令合集,你知道多少?2024/07/22
一、文件和目录1、cd命令(它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径)cd /home 进入 '/ home' 目录cd .. 返回上一级目录cd ../.. 返回上两级目录cd 进入个人......
-
合并代码用 merge 还是用 rebase ? 两者的区别是什么?2024/07/15
1)git rebase 让你的提交记录更加清晰可读git rebase 的使用rebase 翻译为变基,他的作用和 merge 很相似,用于把一个分支的修改合并到当前分支上。如下图所示,下图介绍了经过 rebase 前后提交历史的变化情况。现在我们来用一个例子来解释一下上面的过程。假设我们现在有2条分支,一个为 ma......
-
内存是怎样一步步被分配出来的?2024/07/01
今天简单聊聊内存分配。我们申请一块内存时计算机内部发生了什么?看下这句代码:这里有两部分,一个是malloc,再一个是你写的代码。malloc实际上属于标准库,标准库里有什么呢?数学相关的函数,sin、cos、绝对值、数幂函数等;字符相关函数,判断大小写等;字符串操作函数、字符串拷贝、拼接比较等;当然还有内存管理函数,......
-
为什么很多人用Java好几年,还是不太理解泛型?2024/06/25
大部分语言都支持泛型,泛型是一种语言机制,各种语言的实现机制都不太一样,例如C++使用模板方式来实现泛型,而 Java 中用类型擦除机制来实现泛型。什么是泛型在 Java 中,不会泛型,寸步难行。泛型可能是一个 Java 初学者需要攻克的第一个难点。随便跟着一门教程或 任何一本《Java入门到精通》,前面关于变量、关键......