2020年7月18日

红黑树学习

摘要: 前言在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以及面临的新问题,从而说明MySQL为什么选择B+树作为索引结构。目录一、二叉查找树(BST):不平衡二、平衡二叉树(AVL):旋转耗时三、红黑树:树太高四、B树:为磁盘而生五、B+树六、感受B+树的威力七、总结一、二叉查找树(B... 阅读全文

posted @ 2020-07-18 21:50 努力做一个伪程序员 阅读(271) 评论(0) 推荐(0) 编辑

HashMap学习

摘要: HashMap 概述HashMap 是 Map 接口的实现,HashMap 允许空的 key-value 键值对,HashMap 被认为是 Hashtable 的增强版,HashMap 是一个非线程安全的容器,如果想构造线程安全的 Map 考虑使用 ConcurrentHashMap。HashMap 是无序的,因为 HashMap 无法保证内部存储的键值对的有序性。HashMap 的底层数据结构是... 阅读全文

posted @ 2020-07-18 21:41 努力做一个伪程序员 阅读(239) 评论(0) 推荐(0) 编辑

Java集合框架

摘要: 参考地址: https://mp.weixin.qq.com/s/6pRvblBDAJx3mbxvKKJEFw话不多说,直接上图:Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:Collection 和 Map顾名思义,容器就是用来存放数据的。那么这两大接口的不同之处在于:Collection 存放单一元素;Map 存放 key-value 键值对。就是单身狗放 ... 阅读全文

posted @ 2020-07-18 21:23 努力做一个伪程序员 阅读(196) 评论(0) 推荐(0) 编辑

Java性能优化的45个细节

摘要: 参考地址: https://mp.weixin.qq.com/s/vQFL5bARN6aOH2BNKixnQg在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。● 1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第... 阅读全文

posted @ 2020-07-18 20:54 努力做一个伪程序员 阅读(283) 评论(0) 推荐(0) 编辑

导航