- 博客(19)
- 资源 (5)
- 收藏
- 关注
原创 Spring-boot 整合MyBatis Plus
扩展 Mapper 文件方法可以参考:https://blog.csdn.net/ytzzh0726/article/details/84701786。Mybatis Generator 官网:https://mybatis.org/generator/configreference/table.html。Mybatis 官网:https://mybatis.org/mybatis-3/zh/index.html。官方条件构造器参考:https://baomidou.com/pages/10c804/
2023-12-03 01:09:51 172 1
翻译 Spring-boot文档:第一部分:快速使用
官方文档:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ spring-boot 2.0一、第一部分1.1 Spring-boot介绍Spring-boot能够轻松创建独立的、生产级的基于Spring的可运行的应用。它集成了Spring依赖和一些第三方类库...
2018-05-03 14:09:18 241
原创 JUC-10.读写锁.md
读写锁:ReadWriteLock1. 什么是读写锁我们在使用锁时,通常对共享数据直接加锁,虽然保证了数据访问的安全,但是性能其实也是比较低下的。所以,除了了降低锁的粒度之外,我们还是希望可以有其他更好的一些实现。 首先分析下锁的使用场景: 写写、读写 需要“互斥” 读读 不需要互斥所以,读写锁是维护了一对锁,一个读锁,一个写锁。读锁允许多个线程同时访问,只要没有写线程时...
2018-03-25 22:16:49 324
转载 JUC-9.线程按序交替.md
1. 线程按序交替1.1 题目编写一个程序,开启3个线程,这三个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出的结果必须按顺序显示。 如;ABCABCABC。。依次打印1.2 代码import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.L...
2018-03-11 23:39:39 315
原创 JUC-8.Condition线程通信
1. 线程通信上节讲的虚假唤醒,使用的是内置锁synchronized,那么我们使用同步锁(显示锁)Lock其实也一样达到效果。 我们知道,内置锁通过wait()notify()notifyAll()进行线程间通信。同步锁也一样是否一样可以进行通信呢?1.1 显示锁Condition线程通信Contion接口描述了可能会与锁有关联的条件变量。单个Lock可能与多个Conditio...
2018-03-11 23:12:24 290
原创 JUC-7.生产者消费者案例-虚假唤醒
1. 生产者和消费者案例以下为生产者和消费者共享店员进行进货和售货的案例,生产者在库存已满时也不停进货,消费者在库存为0时也不停售货。 那么在实际生产中,就会造成生产者在库存已满时进货,造成数据丢失。消费者也会在不停的消费。/** * 生产者和消费者案例 * @author xiaobin * @date 2018/3/11 */public class TestProdu...
2018-03-11 22:37:39 453
原创 JUC-6.同步锁Lock
1. 用于解决多线程安全的问题的方式1.1. 内置锁:关键字synchronized同步代码块同步方法/** * 内置锁:synchronized关键字 * @author xiaobin * @date 2018/3/11 */public class TestSynchronize { public static void main(String[]...
2018-03-11 16:33:32 285
原创 JUC-5.创建执行线程的方式
1. 创建执行线程的方式创建执行线程一共有4种方式。分别是继承Thread、实现接口Runnable接口、实现Callable接口、线程池。1.1 继承Thread继承Thread并重写父类run()方法,通过start()方法启动线程。/** * 创建执行线程方式一:继承Tread * @author xiaobin * @date 2018/3/11 */pu...
2018-03-11 16:02:04 314
原创 JUC-4.CountDownLatch闭锁
CountDownLatchCountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行: * 确保某个计算在其需要的所有资源都被初始化之后才继续执行; * 确保某个服务在其依赖的所有其他服务都已经启动之后才启动 * 等待直到某个操作所...
2018-03-06 00:07:47 294
原创 JUC-3.ConcurrentHashMap锁分段机制
一、同步容器与并发容器1. 同步容器早起的JDK中,有两种现成的同步容器,Vector和HashTable,可以直接new对象获取 ; 在JDK1.2中,引入了同步封装类,可以由Collections.synchronizedXxxx等方法创建;同步容器的问题HashTable 效率低符合操作存在安全问题,需要额外加锁保护;常见复合操作如下:迭代:反复访...
2018-03-05 23:42:02 324
原创 NIO-1-Java NIO简介&缓冲区
一、NIO简介Java NIO(New IO)是从Java 1.4开始引入的一个新的IO API,可以代替标准的Java IO API。NIO以更加高效的方式进行文件的读写操作。NIO与IO的区别 IO NIO 面向流 面向缓存区 阻塞IO(Blocking IO) 非阻塞IO 无 选择器二、通道与缓存区通道(c...
2018-03-04 22:48:42 227
原创 JUC-2. 原子变量与CAS算法
一 、 原子性例子:i++的原子性问题:i++的操作实际上分为三个步骤 “读-改-写”int i = 10 ;i = i ++; //i为10//分为三步int tmp = 1;i = i + 1;i = tmp;/** * 原子性 * * @author xiaobin * @date 2018/3/3 */public class TestAto...
2018-03-03 19:03:23 257
原创 JUC-1. volatile关键字与内存可见性
一、volatile关键字适用:当多个线程共享一个变量时,如果有一个线程修改此变量,其他线程读取此变量值。特性:内存可见性。阻止重排序。注意:只能确保变量可见性,并不能确保原子性。volatile不具备“互斥性”。3. 应用示例volatile保证了数据可见性。性能比synchronize效率高。/** * 关键字:volatil...
2018-03-03 15:14:17 260
原创 数据分页处理小陷阱
数据分页处理小陷阱一、背景很多时候,我们可能会遇到类似这样的一种需求。起一个定时,把符合某种状态的数据从数据表查出处理后更新回数据库表,同时因为数据量大需要做分页处理。假设我们有这样一个表。 table1 id name amt status 1 zhangsan 12 success 2 lisi1 13 ini...
2018-02-09 14:44:02 368
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人