代码改变世界

阅读排行榜

ConcurrentHashMap实现原理

2022-12-12 15:18 by 杭伟, 58 阅读, 收藏,
摘要: jdk1.7分段锁: Segment类(小型HashMap),继承ReentrantLock put简要流程: 先根据key,算出Segment数组的下标index 加锁 生成Entry对象,并添加到Segment的数组或链表上(和HashMap相同) segments[index].put(key 阅读全文

MySQL-(InnoDB)事务和锁

2022-12-30 12:08 by 杭伟, 53 阅读, 收藏,
摘要: 在事务并行处理背景下,不同的事务之间因数据共享的状态变化,存在着某种依赖/隔离影响。即事务隔离级别。 事务隔离级别,官网的解释在这里。 InnoDB提供 SQL:1992 标准描述的所有四种事务隔离级别: READ UNCOMMITTED、 READ COMMITTED、 REPEATABLE RE 阅读全文

MySQL-索引优化

2022-12-23 11:38 by 杭伟, 47 阅读, 收藏,
摘要: 回顾聚簇索引,官网的定义在这里。 聚簇索引无法显示创建,存储引擎会根据一定的规则自动创建,具体规则优先级是: 主键--》非空唯一索引--》隐藏列rowid **InnoDB表的主键列应该选择有序的顺序ID。 慢SQL查找(慢查询日志) 查看是否开启,默认不开启。如果不需要进行调优,一般不建议开启。参 阅读全文

B树和B+树

2022-11-25 11:16 by 杭伟, 46 阅读, 收藏,
摘要: 上一篇讲到了红黑树,想到说树从二叉树演进到红黑树这样近乎“完美”的数据结构,那直接所有大数据类的场景都用红黑树好了? 也不对。比如:如果新增删除少,查询多,那还是平衡二叉搜索树更具优势。因为它更“平衡”查找效率更高(红黑树高度一般比平衡二叉树要高)。 然后我们所讨论的时间复杂度也更多的是指在内存中操 阅读全文

Java:Should I use a `HashSet` or a `TreeSet` for a very large dataset?

2022-12-13 15:52 by 杭伟, 44 阅读, 收藏,
摘要: 这是StackOverflow上一个有意思的提问,记录一下。 原地址在这 翻译: 对于大型数据集,应该使用”哈希集”还是”树集”? (因为HashTable有着O(1)的查找速度比树结构更有效率,虽然HashTable的数据无序,但这不是本文的重点) 我需要在数据结构中存储2到1500万个帐户(长度 阅读全文

ReentrantLock源码

2022-12-06 21:13 by 杭伟, 36 阅读, 收藏,
摘要: ReentrantLock即是AQS线程同步队列器思想的具体应用/实现 实现了AQS,并有公平锁和非公平锁(默认非公平锁)两种实现 ReentrantLock有三个重要的内部类:Sync(抽象类),NonfaireSync(Sync的非公平锁实现),FairSync(Sync的公平锁实现) Sync 阅读全文

JUC同步工具CountDownLatch

2022-12-12 10:06 by 杭伟, 28 阅读, 收藏,
摘要: CountDownLatch:允许一条或多条线程等待其它线程中的一组操作完成后再继续执行。 在探究CountDownLatch之前,我们知道Thread的join也有类似功能,先看thread的join方法: 1 public static void main(String[] args) thro 阅读全文

工厂模式的一些想法

2023-03-03 19:54 by 杭伟, 26 阅读, 收藏,
摘要: 程序员的通病,写代码是为自己写的。 这句话是废话。 但是就像StackOverflow那个问题:为什么要 List l = new ArrayList<>(); 很火一样。 核心是: 你不要为自己写代码。你的代码是要和第三方合作,以接口的形式暴露出去。 听上去晦涩难懂。但是能够理解这句话即是软件工程 阅读全文

JUC中常见的集合

2022-12-13 15:06 by 杭伟, 23 阅读, 收藏,
摘要: Map: HashMap > ConcurrentHashMap List: ArrayList > CopyOnWriteArrayList Set: HashSet > CopyOnWriteArraySet Queue: Queue > ConcurrentLinkedQueue 阅读全文

nginx概要

2022-12-15 20:41 by 杭伟, 19 阅读, 收藏,
摘要: 新机(CentOS7)配置nginx: 一. 更新yum源为阿里云镜像 ping mirrors.aliyun.com mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc 阅读全文
上一页 1 ··· 3 4 5 6 7 8 下一页