- 博客(4)
- 收藏
- 关注
原创 java面
为了能让HashMap存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。Hash 值的范围值-2147483648 到 2147483647,前后加起来大概 40 亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。但问题是一个 40 亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。用之前还要先对数组的长度取模运算,得到的余数才能用来要存放的位置也就是对应的数组下标。这个数组下标的计算方法是“(n 代表数组长度)。这也就解释了HashMap的长度为什么是 2 的幂次方。
2023-11-30 21:24:51
33
原创 mysql
Delete用来删除表的全部或者一部分数据行,执行 Delete 之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除,会触发这个表上所有的 Delete 触发器。Truncate删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器,Truncate 比 Delete 更快,占用的空间更小。Drop从数据库中删除表,所有的数据行,索引和权限也会被删除,所有的 DML 触发器也不会被触发,这个命令也不能回滚。因此,在不再需要一张表的时候,用 Drop;
2023-11-30 21:05:02
111
原创 golang面试
包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读未提交): 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。Read Committed(读已提交): 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。
2023-10-16 14:16:38
46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人