一江溪水
09
19
JDK的锁优化策略 JDK的锁优化策略
锁的优化策略 JDK6对synchronized做了很多优化,引入了自适应自旋、锁消除、锁粗化、偏向锁和轻量级锁等优化策略,提高锁的效率; 锁一共有4个状态,级别从低到高依次是:无锁、偏向锁、轻量级锁和重量级锁,状态会随竞争情况升级。 锁可
2021-09-19
17
synchronized关键字 synchronized关键字
概念synchronized 同步块是 Java 提供的一种原子性内置锁,Java 中的每个对象都可以把它当作一个同步锁来使用,这些 Java 内置的使用者看不到的锁被称为内部锁,也叫作监视器锁。 内置锁 也叫排它锁,也就是当一个线程获取这
2021-09-17
15
扩展线程池捕获线程异常 扩展线程池捕获线程异常
如何捕获线程池中的线程异常简单案例我们先看一个案例,实现Runnable接口,计算两个数的商创建一个线程池,参数如下提交任务到线程池,查看执行结果执行结果 我们发现,我们代码中,提交了5个线程,但最终只打印了4个结果, 而且没有报何错误,
2021-09-15
15
ThreadLocal的使用 ThreadLocal的使用
概述ThreadLocal 为解决多线程程序的并发问题提供了一种新的思路,使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal 很容易让人望文生义,想当然地认为是一个 “本地线程”。其实,ThreadLocal 并不
2021-09-15
12
HashMap的扩容 HashMap的扩容
HashMap初始化在JDK1.8中,定义了HashMap的初始化过程,我们看看他的源码是如果定义这个初始化过程可以看到,它的构造方法中传入了两个参数,一个是初始化容量,一个是加载因子,默认是0.75f HashMap(int initia
2021-09-12
05
MySQL索引(二) MySQL索引(二)
MySQL索引(二)自适应哈希索引 自适应哈希索引是InnoDB引擎的一个特殊功能,当它注意到某些索引值被使用的非常频繁时,会在内存中基于B-Tree索引之上再创键一个哈希索引,这样就让B-Tree索引也具有哈希索引的一些优点,比如快速哈希
2021-09-05
05
04
MySQL索引(一) MySQL索引(一)
MySQL索引索引是什么索引是数据库中用来提高性能的常用工具,索引在 MySQL 中也叫“键(Key)”,是存储引擎用于快速查找记录的一种数据结构,这也是索引的基本功能。 索引对于良好的性能很关键,尤其是当表中数据量越来越大时,索引对性能
2021-09-04
08
24
MySQL的存储引擎 MySQL的存储引擎
MySQL存储引擎MySQL 提供不同的技术存储数据,这些技术使用不同的数据存储机制、索引建立方式、锁方式来完成数据的构建,这些技术统称为存储引擎。 MySQL 至少支持 9 种存储引擎,目前最受关注的是 InnoDB 和 MyISAM 存
2021-08-24
23
一条SQL更新语句是如何执行的 一条SQL更新语句是如何执行的
MySQL日志文件二进制日志-binlog 二进制日志,其实就是我们平常所说的 binlog,它是 MySQL 重要的日志模块,在 Server 层实现。 binlog 以二进制形式,将所有修改数据的 query 记录到日志文件中,包括
2021-08-23
22
一条SQL查询语句是如何执行的 一条SQL查询语句是如何执行的
MySQL数据库的架构MySQL 包含 Server 层和存储引擎层两大部分。 存储引擎层负责数据的存储和提取,MySQL 采用插件式的存储引擎,常见的存储引擎有 InnoDB MyISAM CSV 其中 InnoDB 是最常用的存储
2021-08-22
21
MySQL事务和隔离级别 MySQL事务和隔离级别
MySQL事务和隔离级别什么是事务事务是一组原子性的SQL查询,事务内的SQL语句,要么全部执行成功,要么全部执行失败 最经典的例子就是转账了,假如小明要给小红转账100元,这个转账会涉及到两个关键操作就是:将小明的余额减少100元,将小红
2021-08-21
4 / 7