自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 MySQL索引总结

一、索引概述1. 简介索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。举例说明索引:如果把数据库中的某一张看成一本书,那么索引就像是书的目录,可以通过目录快速查找书中指定内容的位置,对于数据库表来说,可以通过索引快速查找表中的数据。2. 索引的原理索引一般以文件形式存在磁盘中(也可以存于内存中),存储的索引的原理大致概括为以空间换时间,数据库在未添加索引的时候进行查询默认的是进行全量搜索,也就是进行全局扫描,有多少条数据就要进行多少次查询,然后找到相匹配

2020-12-08 10:31:32 1983

原创 CurrentHashMap底层原理

1.CurrentHashMap 数据结构在这里插入图片描述抛弃了 JDK 1.7 中原有的 Segment 分段锁,而采用了 CAS + synchronized 来保证并发安全性。2 将 JDK 1.7 中存放数据的 HashEntry 改为 Node,但作用是相同的。2 put方法final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) throw new

2020-12-03 00:57:05 4255 1

原创 从源码理解ReentrantLock(重入锁)

一、ReentrantLock简介ReentrantLock重入锁,顾名思义,就是支持重入的锁,它表示能够支持一个线程对资源的重复加锁;Synchronized锁,它也是支持重入的一种锁,Synchronized支持隐式的重入锁,比如递归方法,在方法运行时,执行线程在获取到了锁之后仍能连续多次地获取锁;ReentrantLock虽然不能隐式重入,但是获取到锁的线程多次调用lock方法,不会阻塞进入同步队列;除此之外在获取锁时支持公平或者非公平的选择。AQS核心思想是,如果被请求的共享资源空闲,那么就将当

2020-12-03 00:52:00 81

原创 CopyOnWriteArrayList的底层源码

CopyOnWriteArrayList的底层源码学习ArrayList是常用的Java数据结构,不过在多线程环境下对ArrayList进行并发修改会造成很多意想不到的错误:1.并发导致数据丢失2.并发导致插入null3.并发导致数组越界ArrayList和CopyOnWriteArrayList对比ArrayList不是线程安全的类,在并发环境下需要使用线程安全的ArrayList进行修改操作,线程安全的ArrayList是CopyOnWriteArrayList,在CopyOnWriteA

2020-11-27 15:21:08 98

原创 创建线程和线程的常用方法(一)

创建线程和线程的常用方法今天学习了线程的相关知识,通过查找资料和观看视频学习总结了一下创建线程的过程和线程的一些常用方法。一:进程和线程的关系1. 进程进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。2. 线程线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,

2020-11-25 20:40:56 128

原创 HashMap的底层实现原理

HashMap的底层实现原理哈希表(hash table)也叫散列表,HashMap是Java语言中用的最频繁的一种数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。1.HashMap的数据结构在java编程语言中最基本的数据结构有两种,数组和链表。数组:查询速度快,可以根据索引查询;但插入和删除比较困难;链表:查询速度慢,需要遍历整个链表,但插入和删除操作比较容易。H

2020-11-19 20:27:04 310 1

原创 ArrayList详细介绍

ArrayList详细介绍简介成员变量注意:上面的 size 是指 elementData 中实际有多少个元素,而 elementData.length 为集合容量,表示最多可以容纳多少个元素。ArrayList构造函数构造函数无惨构造函数主要操作方法解析添加操作删除操作get操作简介ArrayList 是 java 集合框架中比较常用的数据结构了,是我们常常能用到的集合。ArrayList继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在

2020-11-16 20:52:43 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除