- 博客(61)
- 收藏
- 关注
原创 Redis分布式锁有哪些缺点?如何解决?
因为每个客户端在设置锁过期时间时可能出现网络延迟等原因,有可能出现某个客户端加锁之后,由于它异常退出或其他原因导致业务逻辑执行完之后没有及时释放锁,就会导致死锁问题。,每个请求都会依次被处理,当高并发请求增加时,锁的抢占时间会变长,从而导致。:如果锁的粒度过大,即锁定的资源过多,那么锁的抢占时间就会变长。如果加锁的时间过长,就会导致锁的时效性问题,影响系统的响应速度。:通过优化业务逻辑,减少执行的操作,可以减少锁的抢占时间。:将锁粒度减小,只锁定必要的资源,可以减少锁的抢占时间。
2023-04-19 10:05:05 4331
原创 Mabatis中String类型传参常见问题和解决办法
因此,如果您在表达式中使用双引号括起字符串,MyBatis 将尝试将其解析为变量,并查找该变量的值进行比较,而不是直接比较字符串字面值。在这个错误示例中,使用了双引号括起字符串 "2"。在 MyBatis 的 XML 映射文件中,进行字符串比较时,需要使用。这是因为 MyBatis 的表达式语言中,使用单引号表示字符串字面值。使用了单引号括起字符串 "2"。括起字符串时,MyBatis 会将其解析为表达式语言中的。如果您希望将参数转换为字符串进行比较,可以使用。,并查找变量的值进行比较。
2024-01-05 10:49:27 935
原创 Spring项目启动报错无法访问org.springframework.boot.SpringApplication:6
SpringBoot项目启动报错如何解决》
2023-07-28 10:29:03 467
原创 java.lang.StringIndexOutOfBoundsException: String index out of range: 0
字符串索引越界异常如何解决?
2023-06-29 16:39:52 8501
原创 @AllArgsConstructor、@Data、@NoArgsConstructor、@RequiredArgsConstructor注解含义及区别?
@AllArgsConstructor、@Data、@NoArgsConstructor、@RequiredArgsConstructor注解含义及区别?
2023-06-05 14:35:59 11954
原创 索引有哪些优缺点?索引有哪几种类型?
通过B+树的结构来存储数据,因为B+树除了叶子节点之外,其他的节点只存储索引,不存储数据,所以可以大大减少数据检索时的。在某些情况下,我们需要保证某个字段的值是唯一的,比如用户的ID或者邮箱等。索引需要占用物理空间,数据库的增加、修改、删除操作,需要涉及到索引的维护,当。:数据列不允许重复,允许为null值,一个表允许多个列创建唯一索引。创建索引的时候,需要考虑到索引字段值的分散性,如果。:基本的索引类型,没有唯一性的限制,允许为Null值。的结构来实现索引和数据的存储。的情况下,索引的维护会带来。
2023-05-15 17:58:13 1987
原创 InnoDB和MySAM有什么区别?
首先,MySAM和InnoDB都是mysql里面的两个存储引擎,mysql5.5版本之前的存储引擎默认是MySAM,版本以后的存储引擎默认是InnoDB,它们底层数据结构都是基于。的场景,MySAM安全性较差,系统崩溃导致数据难以恢复,适合。的,查询数据的时候,先从索引文件中找到数据的。,在InnoDB存储引擎中,数据同样存储在。,它的整体结构如下图所示,在B+树的。,Mylsam存储引擎是通过。,再找到索引对应的数据内容。,在通过索引进行检索的时候,,主要有两个文件,一个是。InnoDB存储引擎是。
2023-05-11 15:24:24 902
原创 Es查询比较慢,翻页查询需要30-40秒,如何进行排查?
如果数据量过大,每次查询时需要进行大量的遍历和计算,会导致查询时间变长。可以通过对索引进行优化,如添加合适的字段映射,减少不必要的字段存储来缩短查询时间。如果索引设计不合理,也会导致查询时间变长。可以通过检查分片和副本配置、合理设置Mapping和Analazer等方式来优化索引设计。如果硬件资源不足,如CPU、内存、磁盘I/O等方面,也会影响查询性能。可以通过增加硬件资源、调整集群配置等方式来提高查询性能。如果使用的ES版本过低,可能存在一些性能问题和bug,建议升级到最新版本或稳定版本。
2023-05-08 17:44:36 4501 3
原创 数据库中全局锁、表级锁、行级锁的区别
而不是整个表或整个数据库。行级锁允许多个事务同时修改同一张表,但是只有在修改同一行数据时,才会阻塞其他事务的操作。,并减少死锁的情况,但是也会增加额外的开销和复杂性。因此,在使用行级锁时需要谨慎考虑其影响,避免出现意想不到的问题。,只允许一个用户对数据库进行写操作,其他用户无法对数据库进行读写操作。针对特定表的锁定机制。当一个事务正在修改某个表的时候,其他事务。,行级锁只有多个事务修改同一行数据才会阻塞。是最细粒度的锁定机制,只。的,用来备份和恢复数据库数据的,表级锁是。,只能读表不能改表,行级锁是。
2023-05-06 15:30:35 935
原创 Hashtable 与 HashMap 有什么不同?
实现的,Iterator接口在功能上更加强大灵活,可以双向遍历集合元素(如List),并且可以进行删除操作。即使多个线程同时访问HashTable中的元素也不会导致数据不一致和竞争条件等问题;:如果多个线程同时访问HashMap中的元素,可能导致。:Hashtable的迭代器(Iterator)是通过。(2n+1)而HashMap默认的初始容量是。HashTable和HashMap都是常用的。实现的,而HashMap的迭代器是通过。,每次扩容时容量变为原来的。综上所述,如果需要在。
2023-05-06 15:07:32 700
原创 第十四天本地锁、Redis分布锁、Redisson锁三者的区别
在传统单体架构的项目下,使用本地锁synchronized和lock锁就可以锁住当前进程,保证线程的安全性,但是本地锁解决不了分布式环境下多个服务资源共享的问题,而分布式锁可以解决这个问题。的问题,可以阻塞多个线程,在多个应用程序之间共享,支持自动释放锁,防止因为线程崩溃或其他异常,例如秒杀业务只有10000件商品,用闭锁就可以实现商品不会出现。锁自动续期,如果业务超长,运行期间自动给锁续期上新的30s,不用担心业务时间长,锁自动过期被删除的造成的。3.锁自动续期问题--->设置够长的过期时间。
2023-04-17 14:38:05 997
原创 Redhat6.7离线安装rabbitmq
链接: https://pan.baidu.com/s/1j2Ze_Jjm0oMrP-r95PPCtA?rabbitmq-plugins enable rabbitmq_management #开启网络管理端插件。vi /etc/rabbitmq/rabbitmq.config #修改配置文件这步可以忽略。service rabbitmq-server start #启动rabbitmq服务。检查主机名信息,将主机名对应的ip改正确即可。查看rabbitmq运行状态。
2023-04-08 13:09:54 667
原创 Exception in thread “main“ java.lang.reflect.InvocationTargetException
idea中项目本地运行成功,但是打成jar包后运行,失败报错如下。
2023-03-31 23:03:19 4717
原创 项目启动报错,找不到文件
java.io.FileNotFoundExceptionE:\software\apache-maven-3.6.1-bin\apache-maven-3.6.1\localrepository\xalan\xalan\2.7.0\xml-apis.jar (系统找不到指定的文件。这些都是JAR文件的依赖项,JVM会自动加载这些依赖项以确保应用程序正常运行。打开MANIFEST.MF文件,删除Class-Path(这个指向的就是找不到的那几个),再打包回jar。解决:找到对应路径的jar包,解压,
2023-03-31 17:41:10 1032
原创 maven项目启动报错Compilation failed: internal java compiler error
问题总结:这次问题是因为项目太大,本地堆内存太小,造成项目没法运行,通过将堆内存调整到合适的大小,就可以解决这个问题。三、检查编译使用的用户本地构建进程堆大小(覆盖共享大小),设置为4096。四、Maven Clean。一、检查jdk编译器版本。二、检查maven配置。
2023-03-28 15:45:54 578
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人