- 博客(22)
- 收藏
- 关注
原创 SpringBoot Configuration Annotation Processor not configured 解决方案和详细问题分析以及作用
写在前:笔者出现这个问题的时候,大概猜到是什么问题,在网上也是很快找到了解决方案,但是很多帖子,并没有深究,只是单纯的解决了问题。
2024-05-30 18:03:06 3815
原创 Maven的下载安装(2024最新详细版~)
Maven – Download Apache Maven 4.3 验证配置Noted: 很多人会忘记配置新项目,导致一打开新项目maven还是旧的配置而出现问题 new Project Settings->Settings for New Projects
2024-05-30 17:13:14 411
原创 接口优化的常见解决方式
1)定位问题 traceId分析调用链路的各阶段的用时,找到耗时长的地方。通过explain执行计划分析,可能存在以下问题;
2022-12-19 18:38:01 1241
原创 MySQL之二
DML语句、可回滚、可以是删除某一行或者是多行DDL语句、不可回滚、清空表中的数据DDL语句、不可回滚、删除表、索引、权限等等都会删除。
2022-08-22 22:16:05 253
原创 基于Redis实现分布式锁
各种分布式锁实现对比基于redis实现分布式锁需要实现两个功能1、获取锁 需要有互斥性 setnx lock thread12、释放锁setnx 和expire是两条命令,不具备原子性,因此需要一条命令去实现这两条命令的功能:s线程1获取锁后由于业务阻塞,导致锁被超时释放,线程2获取锁执行业务,此时线程1业务执行完毕,去释放锁,但这锁是线程2的。解决:在释放前先判断是否是自己的锁,因此存储的value是线程id。
2022-08-20 22:45:14 295
原创 Redis 之二
是一个c语言写的非关系型数据库,基于内存操作,所以读写性能非常好,一般做缓存。也有做分布式锁,甚至消息队列,支持事务、持久化、Lua脚本 、集群等。
2022-08-20 16:35:45 366
原创 接口幂等性的实现
1、select语句天生幂等2、update语句,需要做幂等处理3、delete语句,如果是精确删除,如id =1,不需要处理。如果是id>1,则需要4、insert语句,如果是插入自增的id,比如增加数据,需要处理。如果是,手动填充id,传进实体,则不需要,因为数据库主键有唯一性约束,会报异常。
2022-08-19 22:59:30 332
原创 JVM虚拟机
如:我们写的程序一般是通过程序加载器去加载的,而程序加载器不会先去加载,而去找他的上一级扩展类加载器加载,扩展类加载器也不会加载,而找到最顶层的根加载器。加载后的class文件会存放在缓存区,jvm每次读的时候会优先读取缓存区的数据,而变更后的文件要想见效,必须重新加载进缓存区。线程私有的,不存在GC,包含局部变量表、操作数栈、方法出口、动态链接,每执行一个方法会压入一个栈帧,方法执行完会弹栈。加载------》链接(验证、准备、解析)-----》初始化,将编译后的.class文件加载到JVM系统。...
2022-08-15 23:51:57 169
原创 Spring事务
Spring事务分编程式事务(setAutoCommit(false)-->commit/rollback)和注解式事务(启动类加@EnableTransactionManagement--->方法/接口加@Transactionl)@Transactional注解:1、未交给Spring管理2、方法不是public修饰3、A调B方法,而只在B方法加了@Transactional,因为事务的底层是AOP,扫描到注解,才会启动动态代理做切面4、try catch捕捉了异常/吞并异常,但未抛出。........
2022-08-10 21:35:25 423
原创 Seata的四种模式介绍
就是指不是单个服务或者单个数据库架构下产生的事务,例如: Seata有四种模式: XA、AT(默认)、TCC、SeagaXA:强一致性,基于数据库隔离,无代码侵入,在一阶段不提交事务AT:默认模式,基于全局锁隔离,无代码侵入,一阶段提交事务,在提交事务前,会记录undolog日志,性能比XA模式好,二阶段TC通知回滚,则根据undolog回滚,通知提交,则删除undolog日志。TCC:性能最好,不需要依赖关系型数据库,但代码入侵读高。Try:冻结可用数据,Confirm:确认提交数据,删除冻结数据 Ca
2022-08-10 20:49:43 10470 2
原创 MQ面试题整理
我们可以开启手动ACK模式,然后在消费者的业务执行成功后,才使用代码发送ACK确认,以实现消息可靠。默认情况下,MQ服务器的消息到达消费者后,消息者会立即发送ACK确认消息给MQ服务器,MQ服务器获取ACK后,从队列中删除消息。判断ack是否成功,如果ack为false,代表消息发送失败,可以重发几次消息,如果重试失败,在DB的消息表写入错误消息。如果执行自动ACK确认机制的话,MQ服务器可能会在消息者接受到消息但未执行成功业务的时候,主动删除MQ消息,导致消息的丢失。1、MQ如何保证消息可靠?...
2022-08-10 17:24:27 3678
原创 MySQL
MySQL在5.5之前默认用的是myISAM ,5.5以后用的是InnoDBMyISM: 不支持外键、事务、行锁,只支持表锁。文件:xxx.fri表结构 xxx.MYI 表索引 xxx.MYD表数据InnoDB: 支持外键、事务、行锁、表锁,使用的是b+树索引 文件:xxx.ibd 每张表都对应一个表空间,存储数组、索引、表结构。Memory: 默认使用Hash索引,引擎的数据存储在内存中,读写快,但是会受到硬件、断电影响,因此只能将这些表做缓存或临时用。............
2022-08-07 00:34:25 206
原创 Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module “com.fasterxml.
Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.
2022-07-24 16:37:28 4382 1
原创 MySQL主从复制
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 java面向对象进阶提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这是我在黑马学习java培训的总结例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是
2022-03-27 15:16:46 101
原创 【无标题】
学习目标:java例如: 一周掌握 Java 入门知识在这里插入代码片学习内容:提示:这里可以添加要学的内容例如:搭建 Java 开发环境掌握 Java 基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上 7 点—晚上9点周六上午 9 点-上午 11 点周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如: 技术笔记 2 遍 CSDN 技术博客 3 篇 习的 vlog 视频 1 个
2022-03-27 15:12:19 376 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人