2025.3.4 学习
2025.3.4 学习
小厂测验
1.chmod 755的作用是
可读可写可执行,分别是4,2,1。755代表
文件所有者可读可写可执行 --7
与文件所有者同属一个用户组的其他用户可读可执行 --5
其它用户组可读可执行 --5
2.==比较引用,equals比较数值
equals调用hashcode
方法获取哈希值。而哈希值是根据对象的内部属性值计算得到的,不同的对象如果属性值相同,hashcode
也是相同的。
3.ls -a显示所有文件(包括隐藏的文件)
4.ArrayList初始容量10
mvcc
版本链:对于一条记录,每次update操作后,UNDO_LOG都会记录一条与其相反的sql逻辑。比如事务ID为1的事务第一次修改,然后5,6,7三条事务依次修改,那么链就是:7->6->5->1,据此这条事务会生成一条版本链。
如何判断读版本链中的哪一条?有四条依据。
creator_id:创建这个readView的事务id
-
trx_id=creator_trx_id说明修改这条数据的事务就是当前事务,所以可见。
-
trx_id<min_trx_id 可读。注意m_ids里是未提交的修改当前记录的事务id集合,min_trx_id代表尚未提交的修改事务中最小的事务id,而max_trx_id代表尚未提交的修改事务中最大的事务id。说明修改这条记录的事务在当前事务生成readView的时候已提交,所以可见。
-
trx_id在min_trx_id和max_trx_id之间,此时如果trx_id在m_ids中,说明事务尚未提交,不可见,若不在m_ids中,说明事务已提交,可见。
-
trx_id>max_min_trx_id说明修改这条数据的事务在当前事务生成readView的时候还未启动,所以不可见
mysql主从一致性
主要是使用主表的binlog。分表之后主表每次的dml和ddl操作都会写入BinLog,从表读取binlog,写入到从库中的中继日志RelayLog,然后slave重做中继日志中的事件。
java异常体系
error严重错误,如系统崩溃,虚拟机错误,动态链接失效。不需要捕获。
exception分为运行时异常runtime exception和编译时异常checked exception。
编译时异常是必须被try{}catch语句捕获的。否则无法编译。
运行时异常需要程序员自己分析代码决定是否捕获和处理,包括除零异常,空指针。
分库分表
单库主要会有连接数和的瓶颈
单表主要会有存储空间和并发数的瓶颈
垂直分库:按照业务逻辑来分,比如订单信息,用户信息,商品信息分到三个库中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构