随笔分类 - 福大大架构师每日一题
摘要:福哥答案2020-12-10: 不是原子操作。i++分为三个阶段:1.内存到寄存器。2.寄存器自增。3.写回内存。这三个阶段中间都可以被中断分离开。***[评论](https://user.qzone.qq.com/3182319461/blog/1607577679)
阅读全文
摘要:福哥答案2020-12-09: 简单回答:乘法增大。 中级回答:cwnd拥塞窗口。rwnd接收窗口。MSS最大报文段长度。ssthresh慢开始门限。使用慢开始算法后,每经过一个传输轮次(即往返时延RTT),拥塞窗口cwnd就会加倍,即cwnd的大小指数式增长。这样,慢开始一直把拥塞窗口cwnd增大
阅读全文
摘要:福哥答案2020-12-08:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/646)这里假设主动关闭方为A,被动关闭方为B,TIME_WAIT状态是在主动关闭方A接收到主动关闭的FIN报文的ACK报文后,此时被动关闭方B会发出FIN报文,A在收到F
阅读全文
摘要:福哥答案2020-12-07: 源码位于runtime/slice.go文件中的slice结构体。 type slice struct { array unsafe.Pointer len int cap int } 切片的结构体由3部分构成,Pointer 是指向一个数组的指针,len 代表当前切
阅读全文
摘要:福哥答案2020-12-06: 数据不会有多份,索引有几个就有几份。聚簇索引存数据和索引,非聚簇索引存索引,聚簇索引只有一个,非聚簇索引可以有多个。
阅读全文
摘要:福哥答案2020-12-05:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=13) 源码位于runtime/map.go文件中的hashGrow函数。 在向map中添加数据时,当达到某个条件,则会引发字典扩容。 扩容条件:1.map
阅读全文
摘要:福哥答案2020-12-04: 在 Mysql 表中允许有六个触发器,如下:BEFORE INSERTAFTER INSERTBEFORE UPDATEAFTER UPDATEBEFORE DELETEAFTER DELETE
阅读全文
摘要:福哥答案2020-12-04:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/605) Heap表,即使用MEMORY存储引擎的表,这种表的数据存储在内存中,由于硬件问题或者断电,数据容易丢失,所以只能从其他数据表中读取数据作为临时表或者只读缓存来使
阅读全文
摘要:福哥答案2020-12-04:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/604)1.Mysql8.0以下版本表类型为InnoDB引擎,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启MYSQL或者对表OPTI
阅读全文
摘要:福哥答案2020-12-04: 安全点用户线程暂停,GC 线程要开始工作,但是要确保用户线程暂停的这行字节码指令是不会导致引用关系的变化。所以 JVM 会在字节码指令中,选一些指令,作为“安全点”,比如方法调用、循环跳转、异常跳转等,一般是这些指令才会产生安全点。为什么它叫安全点,是这样的,GC 时
阅读全文
摘要:福哥答案2020-12-04:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/530)这两个都是G1收集器中的概念记忆集,RemeberSet,用来记录外部指向本Region的所有引用,每个Region内都会维护一个,因此G1收集器相对而言比较消耗内
阅读全文
摘要:福哥答案2020-11-29:1,先让整个数组都变成大根堆结构,建立堆的过程: 1)从上到下的方法,时间复杂度为O(N*logN)。 2)从下到上的方法,时间复杂度为O(N)。2,把堆的最大值和堆末尾的值交换,然后减少堆的大小之后,再去调整堆,一直周而复始,时间复杂度为O(N*logN)。3,堆的大
阅读全文
摘要:福哥答案2020-11-28: 源码位于runtime/map.go文件中的mapassign函数。 info["name"]="福大大" bilibili视频里的步骤:[答案来自此链接](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=11)3.结合哈希
阅读全文
摘要:福哥答案2020-11-27:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=12)源码位于runtime/map.go文件中的mapaccess1函数和mapaccess2函数。value:=info["name"]1.结合哈希因子
阅读全文
摘要:福哥答案2020-11-26: [答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=10)源码位于runtime/map.go文件中的makemap函数。1.创建一个hmap结构体对象。2.生成一个哈希因子hash0并赋值到hmap对象中
阅读全文
摘要:福哥答案2020-11-25: 简单回答:hmap映射头、bmap桶、mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the format of the hmap is also encoded in cmd/compile/inter
阅读全文
摘要:福哥答案2020-11-24: 背包问题:背包容量是SUM/2. 每个物体的体积是数的大小,然后尽可能的装满背包。 golang代码如下: package main import ( "fmt" ) //https://blog.csdn.net/qq_26222859/article/detail
阅读全文
摘要:福个答案2020-11-23:Golang 的字符串(string)是合法的 UTF-8 序列,这就涉及到了两种不同的遍历方式,一种是按照 Unicode 的 codepoint 遍历,另一种是把 string 视为 []byte,按照字节遍历。s是UTF-8 序列,所以在相同字符个数下,字节数不固
阅读全文
摘要:福哥答案2020-11-22:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/412)如果mysql在排序的时候没有使用到索引那么就会输出 using filesort。filesort有两种实现1.一遍扫描一遍扫描数据后将select需要的列数据以
阅读全文
摘要:福哥答案2020-11-21: [答案来自此链接:](http://bbs.xiangxueketang.cn/question/404) 跨代引用常出现与 CMS 分代收集时需要使用可达性分析判断对象是否存活,JVM将堆内存分为 年轻代、老年代、永久代||元空间,跨代引用就是年轻代对象可能会引用老
阅读全文

浙公网安备 33010602011771号