自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【缓存】- Redis

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets),带有范围查询的 有序集合(sorted sets) , bitmaps, hyperloglogs 和 地理空间(geospatial) 索引。

2023-05-30 09:44:43 178

原创 【数据库】- mysql - 数据库锁

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。​ 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。

2023-05-16 21:30:00 141

原创 【数据库】 - mysql- 执行计划

-range:表示利用索引查询的时候限制了范围,在指定范围内进行查询,这样避免了index的全索引扫描,适用的操作符: =, , >, >=,

2023-05-16 12:07:00 262

原创 【数据库】- mysql - 索引

是帮助数据库高效获取数据,排好顺序的数据结构1、大大减少了服务器需要扫描的数据量2、帮助服务器避免排序和临时表3、将随机io变成顺序io1、快速查找匹配WHERE子句的行2、从consideration中消除行,如果可以在多个索引之间进行选择,mysql通常会使用找到最少行的索引3、如果表具有多列索引,则优化器可以使用索引的任何最左前缀来查找行4、当有表连接的时候,从其他表检索行数据5、查找特定索引列的min或max值6、如果排序或分组时在可用索引的最左前缀上完成的,则对表进行排序和分组。

2023-05-15 14:57:45 272

原创 【Java并发】- JUC

java并发包名称缩写:JUC (java.util.concurrent)AQS,AbstractQueuedSynchronizer,抽象队列同步器,定义了一套多线程访问共享资源的同步器框架,许多并发工具的实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch。AQS使用一个volatile的int类型的成员变量state来表示同步状态,通过CAS修改同步状态的值。

2023-05-10 15:52:37 264

原创 【Java并发】- Thread

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

2023-05-09 16:58:46 291

原创 【Java基础】- 并发 - synchronized

synchronized 同步代码块的实现是通过 monitorenter 和 monitorexit 指令,其中 monitorenter 指令指向同步代码块的开始位置,monitorexit 指令则指明同步代码块的结束位置。当执行 monitorenter 指令时,线程试图获取锁也就是获取 monitor(monitor对象存在于每个Java对象的对象头中, synchronized 锁便是通过这种方式获取锁的,也是为什么Java中任意对象可以作为锁的原因) 的持有权。1.类加在静态方法上。

2023-05-09 10:50:10 86

原创 【数据库】- mysql - 数据类型

当我们的表中存在类似于 TEXT 或者是很大的 VARCHAR类型的大字段的时候,如果我们大部分访问这张表的时候都不需要这个字段,我们就该义无反顾的将其拆分到另外的独立表中,以减少常用数据所占用的存储空间。使用枚举类代替常用的字符串类型,mysql存储枚举类型会非常紧凑,会根据列表值的数据压缩到一个或两个字节中,mysql在内部会将每个值在列表中的位置保存为整数,并且在表的.frm文件中保存“数字-字符串”映射关系的查找表。不过,冗余的同时需要确保数据的一致性不会遭到破坏,确保更新的同时冗余字段也被更新。

2023-05-07 21:01:45 123

原创 【Java基础】- 并发 -volatile

MESI:当线程A获取CPU资源(变量O)时,从主内存中读取到需要使用的变量O后,此时可以理解为变量O状态为独占(E),当其他线程B也读取了该变量O时,所有缓存中该变量状态都改为(S),当线程A通过CPU写变量值时,A线程中变量O的状态为(M),与此同时如果发现操作的变量O是共享变量,即在其他CPU(B线程使用的CUP资源)中也存在该变量O的副本,会发出信号通知其他CPU将该变量的缓存行置为无效状态(i),因此当其他CPU需要读取这个变量时,就会从内存重新读取。E:独占状态(互斥)M:修改状态(修改)

2023-04-27 12:53:23 142 1

原创 【Java基础】- 集合

List,set,map,集合

2023-04-27 00:04:53 80 1

空空如也

空空如也

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

TA关注的人

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