- 博客(21)
- 收藏
- 关注
转载 两种方式修改jar内配置文件(1 解压jar,修改并重新打包;2 直接修改jar内指定配置文件)
进行更新上层目录下的jar文件)#更新配置文件 将application.yml到test.jar包内。将jar解压后的BOOT-INF文件夹放到要打入的jar包同级目录。#将test.jar解压到新目录,新目录自动命名为testTemp。使用 jar uf 命令将对应目录下的文件打入jar包。#进入临时目录下,修改需要修改的文件并保存。保留解压目录下要替换的文件,其他文件删掉。#将文件名包含$符号的文件打入jar。#列出jar下所有目录及目录下文件。#取出jar包中的指定文件。
2025-02-21 15:40:45
259
转载 Spring 为什么要用三级缓存来解决循环依赖(AOP),二级缓存不行吗
如果我们更过分点,不遵守每一级缓存存入的是同一过程性质的bean,那么我们只需一级缓存,每个bean提前创建好代理对象就放入一级缓存,(此时一级缓存的bean还是未初始化的bean),接下来B直接从一级拿到A的代理对象,完成创建,B把自己完整的Bean也放入一级缓存,此时一级缓存的bean 就有中间态和完成态两种形态的bean, 最终A完成创建,一级缓存全是完成态Bean。此时B相当于从三级缓存中拿到了A的代理对象,B为了后面的C和自己拿到的是同一个A的代理对象,他就需要把这个A代理对象放入第二级缓存。
2025-02-09 17:17:18
61
转载 spring3注解 @ConfigurationProperties
另外还有这个类:ConfigurationPropertiesBindingPostProcessorRegistrar,刚刚没有分析,看了下源码,其实他做的事情就是将配置文件当中的属性值赋予到加了@ConfigurationProperties的注解的类的属性上,具体就不分析了,有兴趣自己可以阅读,入口知道了,就简单了。第一步:创建一个类TestConfigurationProperties。@EnableConfigurationProperties是怎么加载的。第四步:跑一下,打印出User这个类。
2025-02-08 16:57:11
58
转载 MySQL三大日志(binlog,redolog,undolog)详解
主从复制:在主从架构中,Bin log 用于同步主数据库的数据变更到从数据库。保证事务的持久性:通过将事务的修改操作记录到 Redo log 中,可以确保在系统故障或崩溃发生时,已提交的事务能够被正确地重新执行,保证数据的一致性。配置 Undo log 的大小:根据数据库的并发事务量和数据修改量,合理配置 Undo log 的大小,以确保足够的空间来存储 Undo log 信息。减少磁盘IO操作:Redo log的写入是顺序追加的方式,相比于随机写入数据库文件,它可以减少磁盘IO的操作,提升数据库的性能。
2025-02-08 15:23:17
14
原创 奇怪,mysql密码明明是对的,怎么就是报报错?
远程连接mysql数据库的时候密码明明是正确的,但是mysql -uroot -p123456提示“ERROR 1044 (42000): Access denied for user ‘’@‘localhost’ to database ‘password’”,到服务器上检查看看,依然是一样的,密码明明是对的啊,有些怀疑了,因为是docker容器 ,查看下密码 (docker inspect "mysql容器名"| grep MYSQL_ROOT_PASSWORD)结果没有再报错,root用户创建成功。
2025-01-25 11:50:07
356
原创 RocketMQ 重试机制详解及最佳实践
上述误用的场景实际上是组合了限流和重试能力来进行削峰,RocketMQ 推荐的削峰最佳手段为组合限流和堆积,业务以保护自身为前提,需要对消费流量进行限流,并利用 RocketMQ 提供的堆积能力将超出业务当前处理的消息滞后消费,以达到削峰的目的。但请谨记 “重试是对于分布式系统来说自私的”,因为客户端认为其请求很重要,并要求服务端花费更多资源来处理,盲目的重试设计不可取,合理的使用重试可以帮助我们构建更加弹性且可靠的系统。重试的间隔将不稳定,将导致大量重试消息延后消费,即削峰的周期被大幅度延长。
2024-12-07 17:32:00
1421
原创 【HttpClient ,FeignClient 区别】
Feign因为被我们广泛应用在Spring Cloud 的解决方案中,因此它被我们熟知也是因为此,Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,是以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送Http请求变得容易,而且也方便开发人员测试接口(基于Http协议的),提高了开发的效率,也方便提高代码的健壮性。
2024-04-16 18:43:55
765
原创 Oracle存储过程(包)中的执行没有权限?Authid Current_User使用
由于用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显示授权,如grant create table to user;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。
2024-02-22 15:49:58
872
1
转载 为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API
请不要在你的Java代码中出现任何Log4j等日志框架的API的使用,而是应该直接使用SLF4J这种日志门面。
2023-12-15 15:44:21
124
原创 【无标题】
在jre下的( jdk/jre)的 jre\lib\security 修改 java.security 文件,添加security.provider.(?尾巴那加1,2,3,4)=org.bouncycastle.jce.provider.BouncyCastleProvider。2,下载好的jar包在/jre/lib/ext 下添加 bcprov-jdk15on-1.58.jar,版本看自己的,,也可以一起加一个 同版本的…原因呢显而易见就是不支持,,,(添加对地方啊,,,)
2023-08-30 14:08:46
304
原创 mysql显示连接和隐式连接的区别效率(mysql)
从性能角度来看,对于MySQL来说,显示连接通常比隐式连接更高效。这是因为MySQL查询优化器可以更好地优化显示连接,使用适当的连接顺序和连接类型来提高查询执行效率。在MySQL中,连接可以使用显示连接(explicit join)或隐式连接(implicit join)来执行。在显示连接中,连接条件明确地指定在JOIN子句中,使得查询更加清晰和易于理解。而在隐式连接中,连接条件放置在WHERE子句中,容易造成混淆,特别是在复杂查询中。隐式连接是通过将连接条件放置在WHERE子句中来隐式执行连接操作。
2023-06-22 15:03:32
2173
1
原创 mq-问题
发送确认消息的备份:如果连接断开导致无法发送应答消息,您可以在消费者重新连接时,检查未确认的消息,并重新发送确认消息给消息队列系统。当消费者接收到消息并成功处理后,它会发送一个应答(也称为确认)给消息队列系统,以通知系统该消息已经成功消费。通过查看消费者的日志,您可以了解到消息是否已经被消费。如果由于某些原因连接断开,消费者无法发送应答消息,那么消息队列系统可能会将该消息重新投递给其他可用的消费者。检查消息队列系统的管理界面:大多数消息队列系统都提供了管理界面,您可以通过该界面查看消息的状态和消费情况。
2023-06-17 16:30:08
566
1
原创 IOC 容器中添加组件的方式
①:通过@CompentScan +@Controller @Service @Respository @compent。通过@Import的 ImportBeanDefinitionRegister导入组件 (可以指定bean的名称)通过@Import 的ImportSeletor类实现组件的导入 (导入组件的id为全类名路径)③:通过@Import来导入组件 (导入组件的id为全类名路径)②:通过@Bean的方式来导入组件(适用于导入第三方组件的类)//把bean定义对象导入到容器中。
2023-06-08 17:51:52
192
1
原创 mvcc多版本并发控制的原理
1MVCC,全称Multi-Version Concurrency Control,(多版本并发控制)的缩写,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读。
2023-06-07 16:44:15
229
1
原创 @Autowired 和 @Resource 思考
Autowired和@Resource是Java中常用的两个注解,用于实现依赖注入(Dependency Injection)和资源注入(Resource Injection)。它们的使用和行为略有不同,下面我将详细介绍它们之间的区别。@Autowired注解是由Spring框架提供的,用于自动装配(Autowired)Bean的依赖关系。它可以应用于构造方法、成员变量、方法和参数上。当Spring容器扫描到带有@Autowired注解的元素时,会自动将匹配的Bean注入到该元素中。
2023-06-06 15:28:40
133
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人