自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 再次加深理解Java中的并发编程

Java并发编程中的锁机制原理,线程安全如何保证?

2024-03-29 20:52:48 1071

原创 浅谈Spring框架

Spring框架的底层原理

2024-03-21 20:43:43 771

原创 深入了解JVM底层原理

深入了解JVM内存结构、垃圾回收机制算法原理

2024-03-18 22:21:47 1089

原创 数据库优化及SQL调优

数据库优化思想

2023-05-10 11:06:29 839

原创 Redis分布式锁有哪些缺点?如何解决?

因为每个客户端在设置锁过期时间时可能出现网络延迟等原因,有可能出现某个客户端加锁之后,由于它异常退出或其他原因导致业务逻辑执行完之后没有及时释放锁,就会导致死锁问题。,每个请求都会依次被处理,当高并发请求增加时,锁的抢占时间会变长,从而导致。:如果锁的粒度过大,即锁定的资源过多,那么锁的抢占时间就会变长。如果加锁的时间过长,就会导致锁的时效性问题,影响系统的响应速度。:通过优化业务逻辑,减少执行的操作,可以减少锁的抢占时间。:将锁粒度减小,只锁定必要的资源,可以减少锁的抢占时间。

2023-04-19 10:05:05 4331

原创 多线程如何使用?

多线程的实际使用

2024-10-31 09:45:02 98

原创 彻底解决idea的编解码问题

彻底解决idea编解码问题

2024-07-18 22:45:33 1207

原创 Mabatis中String类型传参常见问题和解决办法

因此,如果您在表达式中使用双引号括起字符串,MyBatis 将尝试将其解析为变量,并查找该变量的值进行比较,而不是直接比较字符串字面值。在这个错误示例中,使用了双引号括起字符串 "2"。在 MyBatis 的 XML 映射文件中,进行字符串比较时,需要使用。这是因为 MyBatis 的表达式语言中,使用单引号表示字符串字面值。使用了单引号括起字符串 "2"。括起字符串时,MyBatis 会将其解析为表达式语言中的。如果您希望将参数转换为字符串进行比较,可以使用。,并查找变量的值进行比较。

2024-01-05 10:49:27 935

原创 Gradle项目如何开启debug?

Gradle项目如何开启debug?

2023-08-29 15:03:10 975

原创 Idea中侧面栏不见了,如何设置?

Idea中侧面栏不见了,如何设置?

2023-08-04 16:38:30 8713 1

原创 Spring项目启动报错无法访问org.springframework.boot.SpringApplication:6

SpringBoot项目启动报错如何解决》

2023-07-28 10:29:03 467

原创 如何自定义一个单例类?

Spring中如何自定义一个单例类?

2023-07-08 09:22:06 1130

原创 Java基础面试题

JAVA基础面试题

2023-07-05 16:54:25 646

原创 Rabbitmq消息积压问题如何解决?

Rabbitmq消息积压问题如何解决?

2023-07-04 17:13:20 5790

原创 计算机网络的89个核心概念

计算机网络的89个核心概念

2023-06-30 17:24:49 4596 4

原创 java.lang.StringIndexOutOfBoundsException: String index out of range: 0

字符串索引越界异常如何解决?

2023-06-29 16:39:52 8501

原创 synchronized锁升级详细过程

synchronized锁升级详细过程

2023-06-25 10:03:15 9750 2

原创 什么是内存溢出?什么是内存泄露?

什么是内存溢出?什么是内存泄露?

2023-06-07 14:58:03 618

原创 Spring为什么默认是单例的?

Spring为什么默认是单例的?

2023-06-05 15:10:18 741

原创 @AllArgsConstructor、@Data、@NoArgsConstructor、@RequiredArgsConstructor注解含义及区别?

@AllArgsConstructor、@Data、@NoArgsConstructor、@RequiredArgsConstructor注解含义及区别?

2023-06-05 14:35:59 11954

原创 SQL查询比较慢,如何进行排查?如何进行SQL优化?

SQL查询比较慢,如何进行排查?如何进行SQL优化?

2023-05-24 18:01:28 3364

原创 CAS是什么?它的底层原理是什么?

CAS是什么?它的底层原理是什么?

2023-05-24 17:46:10 1284

原创 volatile是线程安全的吗?它的底层原理如何实现的?

volatile是线程安全的吗?它的底层原理如何实现的?

2023-05-23 23:53:32 480

原创 MySQL高级篇第一天

MySQL高级篇之数据结构、索引、存储引擎、B+树、存储函数等

2023-05-21 22:36:07 734 1

原创 索引有哪些优缺点?索引有哪几种类型?

通过B+树的结构来存储数据,因为B+树除了叶子节点之外,其他的节点只存储索引,不存储数据,所以可以大大减少数据检索时的。在某些情况下,我们需要保证某个字段的值是唯一的,比如用户的ID或者邮箱等。索引需要占用物理空间,数据库的增加、修改、删除操作,需要涉及到索引的维护,当。:数据列不允许重复,允许为null值,一个表允许多个列创建唯一索引。创建索引的时候,需要考虑到索引字段值的分散性,如果。:基本的索引类型,没有唯一性的限制,允许为Null值。的结构来实现索引和数据的存储。的情况下,索引的维护会带来。

2023-05-15 17:58:13 1987

原创 深入理解双亲委派机制

深入理解双亲委派机制

2023-05-15 10:25:00 1473

原创 数据库原理之为什么要使用B+树,而不用二叉树呢?

数据库原理之为什么要使用B+树,而不用二叉树呢?

2023-05-12 15:04:12 611

原创 HashMap底层实现原理和扩容机制

HashMap底层原理和扩容机制

2023-05-12 14:02:57 1206

原创 事务的隔离级别有哪几种,解决了什么问题?

数据库的四大隔离级别,如果解决脏读、幻读,不可重复读的问题?

2023-05-11 17:31:12 1298

原创 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

原创 第十五天实战篇

当一个变量被修改后,如果该变量的值没有被写入主内存,其他线程可能会读取到该变量的旧值,从而导致程序出错。

2023-04-18 17:09:40 111

原创 第十四天本地锁、Redis分布锁、Redisson锁三者的区别

在传统单体架构的项目下,使用本地锁synchronized和lock锁就可以锁住当前进程,保证线程的安全性,但是本地锁解决不了分布式环境下多个服务资源共享的问题,而分布式锁可以解决这个问题。的问题,可以阻塞多个线程,在多个应用程序之间共享,支持自动释放锁,防止因为线程崩溃或其他异常,例如秒杀业务只有10000件商品,用闭锁就可以实现商品不会出现。锁自动续期,如果业务超长,运行期间自动给锁续期上新的30s,不用担心业务时间长,锁自动过期被删除的造成的。3.锁自动续期问题--->设置够长的过期时间。

2023-04-17 14:38:05 997

原创 MySQL数据库面试题

MySQL数据库面试题

2023-04-13 17:43:07 825

原创 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关注的人

提示
确定要删除当前文章?
取消 删除