- 博客(9)
- 收藏
- 关注
原创 为什么在系统中不推荐双写?
为什么在系统中不推荐双写?背景介绍双写缺点某日,阿雄跑去面试!于是有如下情形:面试官:“阿雄是吧,做做自我介绍!”阿雄:“我叫阿雄,来自某 a 国际电商公司!”面试官:“我看你项目里用了 Elasticsearch,你是怎么同步数据的呢?”阿雄:“在代码里写入数据库的时候,同时再写入 Elasticsearch!”面试官:“那你如何保证写入数据库,和写入 Elasticsearch 原子性问题呢?万一写入数据库成功了,写入 Elasticsearch 失败了怎么处理?”阿雄:“我还是回去等通
2022-03-30 09:30:33
294
原创 乐观锁 悲观锁学习
乐观锁 悲观锁学习什么是悲观锁,什么是乐观锁怎么实现悲观锁,怎么实现乐观锁乐观锁和悲观锁的优缺点乐观锁和悲观锁的应用场景在介绍悲观锁和乐观锁之前,让我们看一下锁。锁,在我们生活中随处可见,我们的门上有锁,我们存钱的保险柜上有锁,是用来保护我们财产安全的。程序中也有锁,当多个线程修改共享变量时,我们可以给修改操作上锁(syncronized)。当多个用户修改表中同一数据时,我们可以给该行数据上锁(行锁)。因此,锁其实是在并发下控制多个操作的顺序执行,以此来保证数据安全的变动。 并且,锁是一种保证数据安全的
2022-01-19 14:01:16
223
原创 java链接es7.*demo
下载es本人使用的是docker-composeversion: '2.2'services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_host
2021-08-06 15:31:28
269
原创 解压rar5压缩包
解压rar经查阅资料 终于找到方法,亲测可用依赖<dependency> <groupId>com.github.axet</groupId> <artifactId>java-unrar</artifactId> <version>1.7.0-8</version></dependency><dependency> <groupId>net
2021-08-03 11:18:53
1049
原创 使用java创建pdf 并返回流给前端
使用java创建pdf 并返回流给前端业务需求,页面点击打印预览文件,然后点击打印调用系统(浏览器)打印,经网上查阅资料,自己整理后记录下来首先是自己整理的帮助类import cn.bt.common.utils.StringUtils;import cn.bt.modules.process.instance.enums.InstanceStatusEnum;import com.itextpdf.text.*;import com.itextpdf.text.pdf.*;import
2021-07-14 17:25:29
8544
2
原创 Spring注解_持续更新
Spring注解A开头B开头C开头R开头A开头注解作用参数@Autowired用来装配bean,都可以写在字段上,或者方法上。默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,例如:@Autowired(required=false)B开头注解作用参数注解作用参数C开头注解作用参数@Controller标识一个该类是Spring MVC controller处
2021-02-19 13:23:38
129
原创 Spring学习_aop
Spring学习_aopSpring AOPSpring AOP传统OOP(面向对象编程)是自上而下的逻辑开发,与OOP对比,AOP是处理一些横切面问题.这些横切面问题不会影响到主逻辑的实现,但是会散落到代码的各个部分,难以维护.AOP就是把这些问题和业务主逻辑分开,达到与主业务逻辑解耦的目的...
2021-02-19 13:23:21
83
原创 JVM学习_类加载篇
JVM学习类加载机制类加载器与双亲委派机制类加载机制JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。由于Java的跨平台性,经过编译的Java源程序并不是一个可执行程序,而是一个或多个类文件。当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.c
2021-01-21 15:33:36
243
1
原创 HashMap学习
HashMap学习JDK7jdk7的hash算法计算下标位置扩容JDK8众所周知,HashMap的底层是数组加链表的方式实现的,在jdk1.7和jdk1.8的实现方式有所改变,接下来让我们去学习JDK7jdk7的hash算法对key进行hash算法后对其进行(异或操作,右移操作)目的使哈希值散列计算下标位置通过"&"操作来计算下标值(key的hash与数组长度)比如现在的容量是16,然后-1变为15,与key的hash值进行&操作(1&1 = 1 1&
2021-01-14 20:06:26
95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人