摘要:简介 ReentrantLock重入锁,由于它的加锁和解锁操作需要手动来完成,所以也称为显式锁。 ReentrantLock是基于AQS独占模式实现的独占锁,同时只能有一个线程能获取到该锁,获取不到锁的线程将被放入该锁的AQS阻塞队列中等待。 ReentrantLock的简单使用 一个Reentra 阅读全文
posted @ 2021-04-17 08:55 布禾 阅读(0) 评论(0) 推荐(0) 编辑
摘要:1. 循环插入 mapper.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybati 阅读全文
posted @ 2021-04-15 18:57 布禾 阅读(10) 评论(0) 推荐(0) 编辑
摘要:简介 Semaphore是用来限制访问特定资源的并发线程的数量,相对于内置锁synchronized和重入锁ReentrantLock的互斥性来说,Semaphore可以允许多个线程同时访问共享资源。 Semaphored的使用 构造方法 Semaphore(int permits):创建Semap 阅读全文
posted @ 2021-04-13 16:55 布禾 阅读(6) 评论(0) 推荐(0) 编辑
摘要:简介 触发器是与表有关的数据库对象,当表发生INSERT/UPDATE/DELETE操作时,对应操作的触发器会被触发,将在这些操作之前或之后执行触发器中定义的SQL语句集合。 触发器的使用 创建触发器 语法: CREATE [DEFINER = user] TRIGGER trigger_name 阅读全文
posted @ 2021-04-12 19:20 布禾 阅读(6) 评论(0) 推荐(0) 编辑
摘要:简介 Exchanger是一个用于线程间数据交换的工具类,它提供一个公共点,在这个公共点,两个线程可以交换彼此的数据。 当一个线程调用exchange方法后将进入等待状态,直到另外一个线程调用exchange方法,双方完成数据交换后继续执行。 Exchanger的使用 方法介绍 exchange(V 阅读全文
posted @ 2021-04-11 15:42 布禾 阅读(5) 评论(0) 推荐(0) 编辑
摘要:简介 从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用,下面分别介绍下这四种引用。 强引用 强引用是最常用的引用类型,如下所示,new Object()会创建一个Object对象并存储在堆上,变量ob 阅读全文
posted @ 2021-04-09 08:48 布禾 阅读(44) 评论(0) 推荐(0) 编辑
摘要:简介 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。 存储过程的使用 创建存储过程 语法: CRE 阅读全文
posted @ 2021-04-08 20:02 布禾 阅读(7) 评论(0) 推荐(0) 编辑
摘要:简介 CyclicBarrier字面意思是循环屏障,它可以实现线程间的计数等待。当线程到达屏障点时会依次进入等待状态,直到最后一个线程进入屏障点时会唤醒等待的线程继续运行。 CyclicBarrier和CountDownLatch类似,区别在于CountDownLatch只能使用一次,当计数器归零后 阅读全文
posted @ 2021-04-06 20:23 布禾 阅读(37) 评论(0) 推荐(0) 编辑
摘要:简介 MySQL视图是一种虚拟的表,本身不包含任何数据,可以看作是对SQL查询的封装,它的数据都是动态执行SQL查询的结果。 MySQL视图常见应用主要有以下两种: 重用SQL语句,简化复杂SQL的操作。 保护数据,可以给用户授予表特定部分的访问权限,而不是整个表的访问权限。 视图的使用 创建视图 阅读全文
posted @ 2021-04-02 16:02 布禾 阅读(22) 评论(0) 推荐(0) 编辑
摘要:简介 在日常的开发中,可能会遇到这样的场景:开启多个子线程执行一些耗时任务,然后在主线程汇总,在子线程执行的过程中,主线程保持阻塞状态直到子线程完成任务。 使用CountDownLatch类或者Thread类的join()方法都能实现这一点,下面通过例子来介绍这两种实现方法。 CountDownLa 阅读全文
posted @ 2021-03-30 15:06 布禾 阅读(27) 评论(0) 推荐(0) 编辑