自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态代理原理分析

所以当我们调用color()方法时其实调用的是Proxy对象的InvocationHandler的invoke方法。代理类中的方法调用了父类(Proxy对象)中持有的h对象(InvocationHandler)的invoke方法。CGLIB$color$3$Proxy对象就是CGLIB$color$3()方法的对象,里面调用父类的方法。从代理类分析可得是CGLIB动态是怎么增强的被代理类。从代理类分析可得JDK动态是怎么增强被代理类的。代理类继承了Proxy,实现了被代理类接口。

2025-01-08 20:22:37 951

原创 MySQL深度分页问题+优化

由于 SELECT id FROM test1 ORDER BY num1 LIMIT 100000,1 使用到了覆盖索引,直接返回ID,并没有产生回表查询。项目中一个导出Excel数据的功能,遇到导出的数据有几十万条的时候,会触发慢查询报警。导致的原因就是深度分页查询。每一次可以使用上一次查询的10条数据的最大ID作为值去查询,但是这种情况比较受限要看SQL条件。查询耗时为12.387s,而且没有使用到索引变成了全表扫描。查询耗时为0.002s,并且使用到了索引。原理也是利用覆盖索引,不产生回表查询。

2025-01-08 17:15:35 366

原创 Java注解使用和原理分析

Java 注解又称 Java 标注,是 JDK5.0 版本开始支持加入源代码的特殊语法元数据。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中,Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容。当然它也支持自定义 Java 标注。自定义开发的注解,比如下面注解。注解的作用用于标识,比如@Override 标记一个方法是覆写父类方法。

2025-01-03 21:16:04 634

原创 Spring Cloud 配置项内容优先级

如果同种类型文件里面有相同内容,越靠后的文件会覆盖之前的文件。比如下面的共享配置文件a.yaml 和 b.yaml 里面有相同的结构 b.yaml的内容会覆盖a.yaml的内容。同理扩展配置文件也是如此。nacos的配置文件分为三种:主配置文件,共享配置文件(shared-config),扩展配置文件(extension-config)。,上面的配置项加载的内容会覆盖下面配置项加载内容。相同配置文件,不同的文件后缀名,按照上面来源的顺序从上往下。

2024-12-12 19:50:13 394

原创 springboot中使用xml文件

springboot中使用xml文件一、使用步骤1.在springboot主配置文件上加上一、使用步骤1.在springboot主配置文件上加上 @ImportResource(location="classpath:**.xml")配置文件要放在resources目录下。

2021-07-14 20:34:33 1128

原创 spingboot连接redis

问题描述org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.63.130:6379 at org.springframework.data.redis.connection.lettuce.L

2021-05-24 21:23:44 198

原创 idea与mysql版本不兼容问题

1 普通连接数据库时:错误信息:The connection property ‘zeroDateTimeBehavior’ acceptable values are: ‘CONVERT_TO_NULL’,‘EXCEPTION’ or ‘ROUND’.The value ‘convertToNull’ is not acceptable.解决方案在jdbc 的配置文件中的URL加上 ?useSSL=falseurl=jdbc:mysql:///book?useSSL=false2 c3

2020-12-17 20:37:13 1716

原创 sping:AOP底层原理(详解)

AOP:面向切面编程,利用AOP对业务逻辑各个方面进行隔离,从而使业务逻辑的各个方面耦合度进行降低,提高代码的重用性,同时提高代码的使用效率。底层原理:分两种:1.有接口通过jdk动态代理2.没有接口通过CGLIB动态代理JDK 动态代理具体实现通过使用Proxy类的方法实现动态代理(1)调用newProxyInstance方法参数解释:1.Proxy类的加载器2.增强方法的所在的类的接口(直接多接口)3.实现代理对象,写增强的部分的一个接口具体代码实现:1.创建接口,定义方法

2020-12-06 17:32:17 204

原创 spring IOC底层原理(详解)

IOC底层原理实现:基于 xml解析,工厂模式,反射去实现,降低了耦合度首先是工厂模式把userdao和userService的耦合度降低然后是xml解析再降低,反射得到类的内容,这样当userdao中的内容变了userservice中得改变就很少。以往的方式IOC模式:...

2020-12-05 21:04:58 426

原创 springMVC解决 系统找不到指定路径

问题展示:问题原因:这个原因是因为maven默认是不加载空文件夹的,所以在target中没有这个目录,导致上传的文件没有一个存放文件的地方。解决方法:在maven的pom.xml中加上 <configuration> <includeEmptyDirectories>true</includeEmptyDirectories> </configuration>如果还不行就手动在这个

2020-12-02 18:18:25 1932

原创 Java web中 war exploded 解决

当出现这个问题时先不要慌检查这两个地方的 “ / ”加上没改成或web.xml 中的配置地址时是不是忘了加“ / ”

2020-11-26 21:34:24 5478 3

空空如也

空空如也

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

TA关注的人

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