- 博客(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关注的人