![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 50
是阳阳呀
这个作者很懒,什么都没留下…
展开
-
说说数据库的索引
说说数据库的索引 1、作用 加快查询 2、原理 底层是以树形结构进行有序排序的 数据结构。具体表现如下: (1)B-树 :MyISAM存储引擎 特点:每个叶子节点都存储索引值与data,并且叶子节点的指针为null。 (2)B+树——InnoDB存储引擎 特点: ① 非叶子节点只存储key值,每个叶子节点可以存储多个key,一个节点的大小是一页; ② 叶子节点的指针指向相邻节点。以便于sql进行范围查找时,可以只需要进行一次叶子节点搜索。 3、分类 (1)根据字段数: 单列索引 多列索引(复合索引)原创 2021-09-22 19:44:53 · 199 阅读 · 0 评论 -
为什么重写equals()就必须重写hashcode()
hashcode()是获取对象的哈希值,equals()是比较两个对象是否相等,若该类没有重写equals()则相当于“==”,若重写了则比较的是对象真实值。 如果在一般的数据类型操作中,equals()和hashcode()完全没有关系,不同的对象hashcode()是否相同没什么影响。还可能存在不同的对象有相同的hashcode。 但是hashcode()在类似于HashMap、HashSet这样的集合中起着重要作用。在put元素时需要通过hashcode()和equals()解决hash冲突的问题。原创 2021-09-22 14:52:27 · 137 阅读 · 0 评论 -
session和cookie的区别和联系
标题session和cookie的区别和联系,session的生命周期 1、Session和Cookie的区别 2、Session对象 浏览器访问服务器时,服务器会创建一个对象(该对象也称为session对象,该对象有一个唯一的id号与其对应)。然后,服务器会将id号发送给浏览器(默认情况下,使用cookie机制发送)。当浏览器再次访问服务器时,会将id号发送过来。服务器可以依据id号找到对应的session对象。通过这个session对象,来保存状态。 2.1 保存session id的几种方式 (1原创 2021-08-23 21:56:56 · 360 阅读 · 0 评论 -
JDK1.7和JDK1.8中HashMap为什么是线程不安全的
参考:JDK1.7和JDK1.8中HashMap为什么是线程不安全的 (我理解的) jdk1.7会发生死循环,数据丢失,数据覆盖这些问题,主要是因为扩容时是在transfer函数中完成数据迁移的,entry数组使用的是头插法(死循环,数据丢失)。 若两个线程同时对table进行扩容,线程A在在为桶赋值时时间片用完,此时线程B开始工作,知道扩容结束。这是old_Table已经更新为new_table,因为采用的是头插法,其实链表的链接顺序已发生改变,这是线程A继续工作,就会发生死循环,另外,若old_tab原创 2021-05-25 09:56:34 · 280 阅读 · 0 评论