自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring事务总结

因为 Spring AOP 使用动态代理来实现事务的管理,它会在运行的时候为带有 @Transactional 注解的方法生成代理对象,并在方法调用的前后应用事物逻辑。当一个方法被标记了@Transactional 注解的时候,Spring 事务管理器只会在被其他类方法调用的时候生效,而不会在一个类中方法调用生效。Spring事务的隔离级别和mysql事务的隔离级别不一致时,以spring的为准,当Spring默认隔离级别的时候,使用mysql的隔离级别。如果当前没有事务,则创建一个新的事务。

2024-08-14 19:23:17 822

原创 1.spring的循环依赖

启动项目,IOC容器会将所有要创建的Bean加到一个List中,等待创建,比如先加载到的A,就会先去单例池中getBean("A"),发现单例池中没有,就会去半成品池中也就是二级缓存和三级缓存中找,都找不到的话,就会创建Bean的实例,createBeanInstance("A"),然后填充属性populateBean("A"),发现依赖于B,所以要去三级缓存中getBean("B"),找不到,所以也要创建Bean的实例,也就是createBean,然后添加属性,又要依赖A,所以就造成了循环依赖。

2024-08-14 19:19:37 342

原创 1.count(*) ,count(1), count(字段)有什么差别,执行效率有什么区别。

当没有二级索引的时候,InnoDB 循环遍历聚簇索引,将读取到的记录返回给 server 层,然后读取记录中的 id 值,就会 id 值判断是否为 NULL,如果不为 NULL,就将 count 变量加 1。执行 explain 命令效率是很高的,因为它并不会真正的去查询,下图中的 rows 字段值就是 explain 命令对表 t_order 记录的估算值。当有二级索引的时候,会走二级索引,因为二级索引树比聚簇索引树小,这样遍历二级索引树就会减少IO次数,优化器决定走二级索引。

2024-08-13 22:37:04 377

原创 Java双亲委派机制

Java类的加载过程:Java类的加载是动态的,它不会一次性的把程序中的所有的类全部加载再运行,而是先保障程序运行的基础类加载到JVM虚拟机中,其他的类,一般是在需要的时候才会去加载。双亲委派机制是指当一个类加载器收到某个类加载请求时,该类加载器首先会把请求委派给父类加载器。每个类加载器都是如此,它会先委托父类加载器在自己的搜索范围内找不到对应的类时,该类加载器才会尝试自己去加载。由于类加载器在加载类时会先检查父加载器是否已加载,因此在动态更新类时可能会出现问题,需要额外的处理。

2024-08-13 22:33:33 412

原创 Java中String ,StringBuffer,StringBuiler有什么区别以及使用场景

它内部的方法大多都加了同步锁(synchronized关键字修饰),因此在多线程环境下可以安全地使用,但这也意味着它的性能会受到一定影响,尤其是在单线程环境下。○ StringBuffer 和 StringBuilder: 这两个类的对象是可以修改的,也就是说,你可以直接在原对象上进行添加、删除或修改字符的操作,而不需要创建新的对象。○ 如果你的应用不需要考虑多线程安全性,并且主要在单线程中操作字符串,推荐使用StringBuilder,因为它提供了更好的性能。

2024-08-07 21:12:33 379

原创 Java中关键字volatile有什么作用

这意味着当一个线程修改了一个被volatile修饰的变量时,这个修改会立即被写入主存(而不是线程自己的工作内存),其他线程在读取这个变量时,会直接从主存中读取最新的值,从而避免了缓存一致性问题。例如,如果你有一个自增操作count++,即使count是volatile的,这个操作也不是原子的,仍然需要使用synchronized或者AtomicInteger等来保证操作的原子性。:当一个线程修改了volatile变量,这个修改对于其他线程来说是立即可见的,不需要通过主内存来同步。

2024-08-07 21:07:19 299

原创 Java中jdk提供的五种线程池以及各自的使用场景

Java的JDK通过java.util.concurrent.Executors类提供了几种常用的线程池配置。这些线程池基于java.util.concurrent.ThreadPoolExecutor和java.util.concurrent.ScheduledThreadPoolExecutor类实现,旨在满足不同场景下的并发需求。

2024-08-07 21:05:27 308

原创 mysql八股文

Innodb 存储引擎设计了一个缓冲池(,来提高数据库的读写性能。Buffer Pool 以页为单位缓冲数据,可以通过参数调整缓冲池的大小,默认是 128 M。Free List (空闲页链表),管理空闲页;Flush List (脏页链表),管理脏页;LRU List,管理脏页+干净页,将最近且经常查询的数据缓存在其中,而不常查询的数据就淘汰出去。;将 LRU 链表 分为young 和 old 两个区域,加入缓冲池的页,优先插入 old 区域;

2024-08-06 15:58:55 942

原创 Java泛型擦除的总结

JDK1.5及1.5之前都是没有泛型的概念的,JDK1.5之后引入了泛型的概念并为了与之前的JDK版本兼容,所以引入了泛型擦除的概念。若对每个泛型类型都生成不同的目标代码,现有10个不同泛型的List,就要生成10份字节码,这样会造成不仅造成代码膨胀,而且一份字节码对应一个Class对象,占据大量的内存。当定义的泛型没上届的时候,编译后会自动转化为Object,当定义的泛型又上届时,编译后会自动转化为最上游的父类。泛型有3类:泛型类、泛型接口、泛型方法(还没遇到)。定义的泛型只在编译时生效,运行时不生效。

2024-07-27 15:07:10 232

原创 redis关于数据一致性问题的总结

定时删除策略提供了较低的延迟,能够快速回收内存,但可能在高并发过期场景下引起性能问题。- 定期删除策略较为温和,对系统性能的影响较小,但在过期键的处理上可能存在一定的延迟,导致内存占用较高。在实际应用中,Redis通常结合两者,使用惰性删除(Lazy deletion,即访问时检查是否过期并删除)作为补充,以平衡性能与内存管理的需求。

2024-07-27 15:03:34 1241

原创 关于服务器中Nacos,启动后自动关闭进程的解决

因为我部署的是微服务项目,可能内存占用比较大,而且服务器,内存才3.6G,所以会出现这个问题。今天小编像往常一样,美美的打开自己的网站,但是进不去!然后疯狂百度,发现可以考虑增加 Swap 交换空间,以缓解内存不足的问题。,然后我就去访问我的Nacos控制台,发现打不开,查看容器状态,发现Nacos后面跟了这么一句话。,这表明容器在启动后不久退出了。命令,发现Nacos已经挂掉了,然后我再。,Nacos启动了,但是立马就又挂掉了,输出来看,Nacos 容器的状态是。发现内存还剩100M这还玩个毛啊!

2024-06-05 15:03:55 1470

原创 前端调用后端,查询时间类型为null的问题分析

今天遇到一个问题,就是搭一个springboot的框架,搭好了,然后测试的时候,发现从数据库查到的数据,时间格式的数据都为null(就是数据的添加时间和更新时间的数据),找了好久!写在实体类中应该采用驼峰命名createdAt,并且要在application.yml配置文件中开启驼峰命名!然后我就查资料,发现好像是驼峰命名的问题,我的数据库字段名字是created_at。我检查了自己的实体类层,发现没加格式注解JsonFormat,然后我在这两个属性上加上了注解。

2024-05-16 09:27:15 335

原创 VUE学习笔记-数组变化侦测

变更方法,顾名思义,就是会对调用它们的原数组进行变更,相对地,也有一些不可变(immutable)方法,是直如 filter(),concat() 和slice(),这些都不会更改原数组,而总是返回一个新数组。当遇到的是非变更方法时,我们需要将旧的数组替换为新的。学习vue时,当我们有一个列表,我们想让列表进行动态更新时,就要用到数组变化侦测技术。方法分为两个大类,一种是改变<ul>标签的结构,造成列表的变更,另一种是替换一个数组,这种方法不会自动使<ul>标签变更!需要在方法里面加入一行代码。

2024-05-09 16:38:44 620

原创 关于帆软excel文件导出格式为zip问题的解决

刚参加工作,使用到帆软(finereport)处理报表问题时,导出excel文件文件,总是导出压缩包格式,找不到问题,jar包换了又换,环境配了又配,也无法解决。注:Excel 的行数和列数是有限制的,如 Excel2003 其行数最大限制为 65536 行,列数最大限制为 256 列。帆软10 版本 开启了行式引擎,Excel 导出格式为 2003 版本,当数据量大时会分成多个exel。安装两个插件(图标单元格数据和Excel流式导出)

2024-04-29 11:24:54 473

原创 Tomcat开启manager和host-manager界面详细步骤

Tomcat的安装好了之后,会默认带几个web应用程序,默认会提供host-manager和manager的管理界面。但是我们无法直接访问这两个程序。设置本地能访问则只需要修改tomcat安装目录下conf/tomcat-users.xml文件,加入完成 ctrl+s保存。然后关闭Tomcat,重新启动Tomcat服务器。将下列代码cc,cv到文件tomcat-users.xml里面。再次去访问manager项目和host-manager。

2023-11-04 15:55:35 816 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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