![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
文章平均质量分 69
剁椒&鱼头
这个作者很懒,什么都没留下…
展开
-
给定数字k,m,找出第一个大于K并且可以整除m的数字(m为2的n次幂)
一、前言 今天在看 Golang 的 channel 源代码时,发现里面计算内存对齐中用了一个计算公式,觉得有点意思,就记录下来了。 Golang 在 channel 中设置的对齐大小是 8 字节,为了内存对齐,需要讲 channel 结构体的大小对齐到 8 的倍数,用到了这个公式。 二、计算过程 1、源码 const ( maxAlign = 8 // 内存 8 字节对齐 hchanSize = unsafe.Sizeof(hchan{}) + uintptr(-int(unsafe.Sizeo原创 2021-09-14 15:53:51 · 274 阅读 · 0 评论 -
MySQL常见知识点
一、数据库架构 存储:存储数据 程序实例:组织数据 存储管理:物理数据用逻辑形式表示 缓存机制:提高IO效率 SQL解析:解析SQL语句 日志管理:操作记录 权限划分:多用户管理 容灾机制 索引管理:优化查询效率 锁管理:支持并发 二、索引模块 ## 1、为什么要使用索引 数据量很少,不需要索引,但是数据量大,全表索引效率就很低。使用索引,提高查询速度。 2、什么信息能成为索引 主键、唯一键、普通键。 3、索引的数据结构 B+Tree 和 Hash结构。这原创 2021-03-29 16:40:22 · 144 阅读 · 0 评论 -
object类的equals方法详解以及与String类的比较
前言 今天学习到Object类时,看到了Object.equals方法是用于检查两个对象的引用是否相等,然后立马想到了这与String.equals相反,所以去看了一下源码。 对比 首先进Object.equals的源码瞄了一眼,发现确实是用于检查两个对象的引用是否相等,直接使用了==实现。 public boolean equals(Object var1) { return this == var1; } 然后打开了String.qeuals源码: public boolean原创 2021-02-25 23:26:05 · 834 阅读 · 0 评论