03 2021 档案
发表于 2021-03-25 20:51阅读:67评论:0推荐:0
摘要:mysql的锁机制 数据库锁机制简单来说,就是数据库为了保证数据的一致性,使各种 共享资源 在被访问时变得 有序而设计 的一种规则。 MysQL的锁机制比较简单最著的特点是不同的存储引擎支持不同的锁机制。 InoDB支持行锁,(有时也会升级为表锁)MyISAM只支持表锁。 表锁 的特点就是开销小、加
阅读全文 »
发表于 2021-03-25 20:41阅读:72评论:0推荐:0
摘要:explain关键字 1.explain的用途: 1. 表的读取顺序如何 2. 数据读取操作有哪些操作类型 3. 哪些索引可以使用 4. 哪些索引被实际使用 5. 表之间是如何引用 6. 每张表有多少行被优化器查询 ...... 2、explain的执行效果 mysql> explain selec
阅读全文 »
发表于 2021-03-25 20:34阅读:69评论:0推荐:0
摘要:使用索引的问题 设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率。 但是你设计了索引就一定会用到码?索引就不会给你带来一些问题吗? 设计MySql索引的时候有一下几点注意: 1、创建索引 对于 查询占主要 的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索
阅读全文 »
发表于 2021-03-25 20:32阅读:48评论:0推荐:0
摘要:MySql索引 B+ 树 默认是主键,如果没有主键则使用唯一索引,唯一索引也没有则使用rowid,行号。 所以一定要建立主键。 B+树是B-树的变体,也是一种多路搜索树, 它与 B- 树的不同之处在于: 所有关键字存储在叶子节点出现,内部节点(非叶子节点并不存储真正的 data) 为所有叶子结点增加
阅读全文 »
发表于 2021-03-16 00:14阅读:71评论:0推荐:0
摘要:AQS的作用: AQS 是一个用于构建锁、同步器等线程协作工具类的框架,有了 AQS 以后,很多用于线程协作的工具类就都可以很方便的被写出来,可以让更上层的开发极大的减少工作量,避免重复造轮子,同时也避免了上层因处理不当而导致的线程安全问题,因为 AQS 把这些事情都做好了。总之,有了 AQS 之后
阅读全文 »
发表于 2021-03-10 23:29阅读:106评论:1推荐:1
摘要:volatile 原理 volatile 的底层实现原理是内存屏障,Memory Barrier(Memory Fence) 对 volatile 变量的写指令后会加入写屏障 对 volatile 变量的读指令前会加入读屏障 如何保证可见性 写屏障(sfence)保证在该屏障之前的,对共享变量的改动
阅读全文 »
发表于 2021-03-10 00:14阅读:227评论:1推荐:0
摘要:深入解析synchronized 1 常见的几个并发问题 1.可见性问题 案例演示:一个线程根据boolean类型的标记flag, while循环,另一个线程改变这个flag变量的值,另一个线程并不会停止循环。 /** * @author WGR * @create 2020/12/22 -- 20
阅读全文 »
发表于 2021-03-08 23:35阅读:116评论:2推荐:1
摘要:相对于 synchronized 它具备如下特点 可中断 可以设置超时时间 可以设置为公平锁 支持多个条件变量,即对与不满足条件的线程可以放到不同的集合中等待 与 synchronized 一样,都支持可重入 基本语法 // 获取锁 reentrantLock.lock(); try { // 临界
阅读全文 »
发表于 2021-03-02 09:01阅读:751评论:1推荐:0
摘要:EasyExcel: 1、EasyExcel特点 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或 者JVM频繁的full gc。EasyExcel是阿里巴
阅读全文 »