- 博客(6)
- 收藏
- 关注
原创 MySQL索引知识点
1. B+Tree索引:最常见的索引类型,大部分引擎都支持B+树索引2. Hash索引:底层数据结构是由哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询3. R-tree(空间索引):空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少4. Full-text(全文索引):是一种通过建立倒排索引,快速匹配文档的方式。类似Lucene,Solr,ES。
2025-07-19 11:24:26
1462
原创 Java多线程(下)
就是把操作共享数据的代码锁起来格式:synchronized(锁){操作共享数据的代码锁对象一定是唯一的特点1:锁默认打开,有一个线程进去之后,锁自动关闭特点2:里面的代码全部执行完毕,线程出来,锁自动打开循环一定到写在synchronized的外面synchronized(锁对象)锁对象一般是当前类的字节码文件 synchronized(MyThread.class)
2025-07-16 21:06:02
337
原创 Java多线程(上)
在认识线程之前,我们要先熟悉进程的概念。所谓进程就是程序的基本执行实体。而线程就是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。单线程的执行方式是从下到下,依次执行,每次都要等待多线程就是把等待时间间隔充分利用起来,使得程序可以同时做多件事情,提高效率。
2025-07-16 20:51:35
1659
原创 HashMap中put方法三种情况分析
特点由键决定:无序,不重复,无索引添加元素是put方法:(只比较键)在添加数据的时候,索引处是null,那么直接把键值对对象添加到集合中,返回null在添加数据的时候,索引处不是null,就会比较键,如果键相同,那么会覆盖之前的键值对对象,返回被覆盖的值。如果键不相同,在jdk8之前,把新添加的entry对象添加到索引处,原来的老对象挂在新entry对象的下面,形成链表形式;
2025-07-14 17:55:30
279
原创 CopyOnWriteArrayList
是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。由源代码可知CopyOnWriteArrayList实现了List,RandomAccess,Cloneable,Serializable等接口。List:基础的添加,删除,遍历等操作RandomAccess:随机访问Cloneable:可以被克隆Serializable:可以被序列化。
2025-07-11 21:25:44
452
原创 ArrayList中add方法源码分析~
首先要明确ArrayList的底层实现是数组利用空参创建的集合时,在底层创建一个默认长度为0的数组添加第一个元素时,底层会创建一个新的长度为10的数组存满时,会扩容1.5倍如果一次添加多个元素,1.5倍还放不下,则新创建数组的长度以实际为准。
2025-07-11 21:06:16
1824
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人