摘要: 类加载器 1、类的生命周期 ​ 加载 ⇒ 验证 ⇒ 准备 ⇒ 解析 ⇒ 初始化 ⇒ 使用 ⇒ 卸载 ​ 加载、验证、准备、初始化、卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班开始。但解析阶段则不一定,在某些情况下可以在初始化阶段后开始,为了支持Java语言的运行时绑定 1.1、 阅读全文
posted @ 2022-03-31 15:51 lifelikeplay 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 记录因事务导致的问题 起因 ​ 某微服务电商项目,跨服务操作订单完成时,事务不生效。(分布式事务借助柔性事务的框架-hmily) 原因 ​ Spring的事务只对代理类的调用生效,若在同类,方法内直接调用相当于使用被代理的对象进行调用,事务注解不生效 ​ 不生效的原因是AOP导致,JDK动态代理和C 阅读全文
posted @ 2021-12-19 13:56 lifelikeplay 阅读(25) 评论(0) 推荐(0) 编辑
摘要: ###起因 搭建环境时,设置了两级父目录,这样在给项目设置依赖的时候,无法使用父pom的依赖 ###解决方案 yml无法识别因为:项目依赖未导入 不可以使用两级父目录,这样导致DependeciesManager的依赖无法传递,项目无法引入jar包 使用一级父目录即可 ###原因 父工程只能传递给子 阅读全文
posted @ 2021-04-11 10:55 lifelikeplay 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 概述 ​ Java中hashCode也称哈希码,能将对象根据一定算法转换为32位int值。 ​ 和equals配套使用,重写的话需要保持原子性,要么都重写,要么都不重写。equals相同的话哈希值一定相同,哈希值不同的话equals不一定相同,存在hash冲突。 hash冲突 开放定址法:将对象值h 阅读全文
posted @ 2021-03-13 11:35 lifelikeplay 阅读(105) 评论(0) 推荐(0) 编辑
摘要: ###起因 升级SSM项目,使用SpringBoot整合Swagger2,出现访问 /swagger-ui.html 时 404 后台提示:o.s.web.servlet.PageNotFound : No mapping for GET /swagger-ui.html ###原因 由于配置Web 阅读全文
posted @ 2021-02-21 09:12 lifelikeplay 阅读(5552) 评论(0) 推荐(0) 编辑
摘要: ###起因 springboot整合activiti时,无法启动出现此错误 SpringBoot: v2.2.10.RELEASE Activiti: activiti-spring-boot-starter-basic 6.0.0 ###原因 暂时未知,猜测是两者整合时需要的对security进行 阅读全文
posted @ 2021-02-18 13:21 lifelikeplay 阅读(3804) 评论(0) 推荐(0) 编辑
摘要: ###起因 升级SSM至Springboot时,编译通过,调用方法时出现此异常 启动类配置了@MapperScan("com.mgy") ###原因 没有找到mapper的映射文件即 dao层接口 启动类配置的MapperScan需要配置到最后一层包 ###解决方案 重新配置,MapperScan扫 阅读全文
posted @ 2021-02-18 13:13 lifelikeplay 阅读(77) 评论(0) 推荐(0) 编辑
摘要: ###起因 升级旧SSM项目时,使用SpringBoot整合Activiti5时,报错 ###原因 因为mysql使用schema标识库名而不是catalog,因此mysql会扫描所有的库来找表,如果其他库中有相同名称的表,activiti就以为找到了,本质上这个表在当前数据库中并不存在。 设置nu 阅读全文
posted @ 2021-02-17 21:18 lifelikeplay 阅读(1315) 评论(0) 推荐(1) 编辑
摘要: ###Log4j Log4j是Apache的一个开源项目,通过使用Log4j,可以控制每条日志的输出格式,可以控制日志信息输送的目的地,像是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。 通过定义每一条日志信息的级别,我们能更细致地控制日志的生成过 阅读全文
posted @ 2021-01-19 15:05 lifelikeplay 阅读(602) 评论(0) 推荐(0) 编辑
摘要: ###CGLIB 利用ASM字节码框架,将代理对象生成的class文件加载,修改其字节码,采用继承方式,生成子类进行处理。 Cglib针对类实现代理,主要针对指定的类生成子类,并覆盖目标方法,达到增强的效果。 由于是使用继承,所以对于final的类或者方法,无法代理 ###JDK 通过反射机制生成代 阅读全文
posted @ 2021-01-18 22:05 lifelikeplay 阅读(204) 评论(0) 推荐(0) 编辑