摘要:一、数据库配置 spring: datasource: name: soMysql type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver #基本属性 url: jdbc:mysql:
阅读全文
摘要:事务 事务实现应该是具备原子性、一致性、隔离性和持久性,简称 ACID。 原子性(Atomicity),可以理解为一个事务内的所有操作要么都执行,要么都不执行。 一致性(Consistency),可以理解为数据是满足完整性约束的,也就是不会存在中间状态的数据,比如你账上有400,我账上有100,你给
阅读全文
摘要:LinkedBlockingQueue是一个基于已链接节点的,范围任意的blocking queue 此队列按FIFO(先进先出)排序元素 新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素 链接队列的吞吐量通常要高于基于数组的对列(ArrayBlockingQueue),但是在大多数
阅读全文
摘要:LockSupport 的功能 LockSupport 是JDK 中提供的一个工具类,用来挂起和唤醒线程,这个类是 JDK 中所有同步类的基础,JDK 中 AQS 的实现也是基于此; LockSupport 类是通过操作 Unsafe 类来实现的,而线程在使用时,被挂起和唤醒都是因为这个类的两个方法
阅读全文
摘要:一、相关依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <
阅读全文
摘要:线程封闭:当访问共享的可变数据时,通常需要同步。一种避免同步的方式就是不共享数据。如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(thread confinement) 线程封闭技术一个常见的应用就是JDBC的Connection对象,JDBC规范并没有要求Connection对象必须
阅读全文
摘要:线程状态 NEW(初始化状态) 线程通过new初始化完成到调用start方法前都处于等待状态。 RUNNABLE(可执行状态) 线程执行start方法后就处于可以行状态。 BLOCKED(阻塞状态) notify方法被调用后线程被唤醒,但是这时notify的synchronized代码段并没有执行完
阅读全文
摘要:如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。 接下来讨论的收集器
阅读全文
摘要:Oracle 递归查询 在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。按照 prior 关键字在子节点端还是父节点端,以及是否包含当前查询的节点,共分为四种情况。 prior 在子节点端(向下递归) 第一种情况: start with 子节
阅读全文