脏读 读取未提交数据 A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。就好像原本的数据比较干净、纯粹,此时由于B事务更改了它,这个数据变得不再纯粹。这个时候A事务立即读取了这个脏数据,但事务B良心发现,又用回滚把数据恢复成原来干净、纯粹的样子,而事务A却什么都不知道,最终结果就是事务A读取了此…
datetime 保存格式为YYYYMMDDHHMMSS(年月日时分秒)的整数,所以,它与时区无关,存入的是什么值就是什么值,不会根据当前时区进行转换。 从mysql 5.6.4中,可以存储小数片段,最多到小数点后6位,显示时格式为 yyyy-MM-dd HH:mm:ss[.222222] mysql5.5中,没有小数片段,精确到秒。所以,我再从5…
mysql大小写敏感配置 mysql大小写敏感配置相关的两个参数,lower_case_file_system 和 lower_case_table_names。 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------------------------+------…
在springboot基础上搭建ES环境源码地址 下载ES服务器并运行 到es官网下载es服务器并运行。 初始化数据库 执行数据库脚本,文件路径(db/es_.sql),demo中从数据库初始化引擎数据。 -- Dumping database structure for master CREATE DATABASE IF NOT EXISTS `…
我们在写Java代码时,最长遇到的异常就是:NullPointerException。大量的null值的检测,降低了代码的可读性,而随时可能发生的NullPointerException降低了程序的健壮性。在Java 8中引入了Optional类,就是为了解决这样的问题,那么Optional怎么用? Optional类 A container ob…
在项目开发中,我们经常遇到与嵌入式进行通信的情况,而由于一些嵌入式设备的处理能力较差,往往以二进制的数据流的形式传输数据,在此将这些常见的转换做一总结。 注意:默认传输时使用小端模式 字节流转换为int类型数据 public static int getInt(byte[] bytes) { return (0xff & bytes[0])…
实现原理 Spring内置了一个AbstractRoutingDataSource类,它可以把多个数据源配置成一个Map,然后根据不同的key返回不同的数据源(通过实现抽象方法determineCurrentLookupKey)。 我们在使用AbstractRoutingDataSource时,主要涉及两个操作: 生成数据源相关map,并赋值给Ab…
ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。 这个类有什么作用,或者说为什么要有这么一个类呢?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是同…
注解的分类 Java注解一共分为3大类: JDK自带注解元注解自定义注解 JDK注解 JDK注解的注解,就5个: @Override 用来标识重写方法 @Deprecated标记就表明这个方法已经过时了,但我就要用,别提示我过期 @SuppressWarnings("deprecation") 忽略警告 @SafeVarargs jdk1.7出现,…