- 博客(6)
- 收藏
- 关注
原创 系统学习Mysql
搞开发天天都是数据库数据库的说,也很好理解数据库就是存储数据的库嘛,但是市面上有哪些数据库呢?这里来系统性的学习一下mysql数据库,相信搞代码开发的都不陌生,mysql是一款关系型数据库,什么叫关系型数据库呢,简单理解就是用行和列(表格)来存储数据的。这里介绍一下mysql的索引,存储引擎,以及使用过程中的各种问题。
2024-08-04 22:43:12
844
1
原创 关于ArrayList的扩容机制
ArrayList是java中集合类的实现的一种,实际上是一个动态数组,底层是用数组的实现的,随机访问效率高,随即删除,修改效率低,线程不安全这里有一个关键词动态数组,有的人会问你ArrayList和数组有什么区别,数组其实当初定义的时候给定的大小是不可变的,而ArrayList与之最大的区别就是ArrayList可以进行扩容,相信大家使用的时候也很少考虑使用ArrayList的时候存满了怎么办。所以总的来说就是一句话当前容量+1大于当前数组大小时就会进行扩容到当前容量的1.5倍。
2024-07-16 16:57:22
578
原创 关于hashMap
2.第二种就是在没有红黑树的情况,然后链表长度大于8,数组会进行扩容,这里跟上边第三点有关系,比如:(创建HashMap集合后刚开始添加元素全都在一个链表中,当链表长度是9的时候数组扩容成32,链表长度是10的时候数组扩容成64,此时再添加元素,满足了数组长度为64链表长度到达8的两个条件,链表才会转换成红黑树)1.用hashMap.put(key,value)方法存储数据时,先对key调用.hashCode()方法计算hash值,然后再根据hash算法转换成数组的一个下标,对应的就是在数组上存储的位置。
2024-07-16 14:48:40
573
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人