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语句捕获的。否则无法编译。
运行时异常需要程序员自己分析代码决定是否捕获和处理,包括除零异常,空指针。

分库分表
单库主要会有连接数和的瓶颈
单表主要会有存储空间和并发数的瓶颈
垂直分库:按照业务逻辑来分,比如订单信息,用户信息,商品信息分到三个库中

浙公网安备 33010602011771号