问题排查
ByteX
学而时习之不亦说乎!
展开
-
多数据源读库打印sql
在本地进行开发的时候,需要打印读库的sql,但是常规的配置是无法打印的,需要在读库的配置中进行设置。原创 2024-04-07 09:52:11 · 11 阅读 · 0 评论 -
fastjson 替换超大的JSON对象中的key优化
遇到一个处理超大json(接近2w行)的问题,原有处理代码效率比较低下,耗时10几秒,业务要求耗时越短越好。因为json非常长,原来对value进行解析的逻辑是逐个字段进行正则匹配判断是否是月份,所以导致效率非常低。优化以后建立映射字段,存储月份对应的码值,遇到对应码值直接返回,原来正则表达式没有进行预编译,所以效率低下。思维转换:一般的思维是遍历json的所有字段,对符合条件的进行转换,但是效率低下,还有大量的正则匹配操作。逆向思维,只对配置中指定的字段进行转换,非配置中的直接跳过,可以大幅提升速度。原创 2024-02-19 17:50:02 · 191 阅读 · 0 评论 -
Java枚举值比较容易出错问题
请注意,当使用“==”运算符比较枚举值时,比较的是它们在内存中的地址,而不是它们的值。因此,这种比较通常是合适的,因为枚举值在Java中是单例对象。但是,如果你需要比较枚举值的值而不是它们的地址,那么你应该使用equals()方法。在Java中,可以使用equals()方法来比较枚举值。也可以使用“==”运算符进行比较,因为枚举值在Java中是单例对象。如果你使用一个字符串去和枚举值比较,容易犯的一个错误是获取的是枚举名称,而没有或者code或者value。原创 2023-10-26 15:23:06 · 267 阅读 · 0 评论 -
线程池异常问题排查
如果线程池设置的不合适会出现ask xxx rejected from java.util.concurrent的现象执行后会出现下面的异常:AsyncSupplycb5822rejectedfromjavautilconcurrentThreadPoolExecutor@4b9e13dfRunningpoolsize2activethreads2q。原创 2023-06-06 16:03:14 · 422 阅读 · 0 评论 -
Springboot restTemplate 自定义消息转换器jackson-dataformat-xml 优先生效的问题
为了解决这个问题,需要更换一下优先级,把MappingJackson2XmlHttpMessageConverter放到解析器列表的最后一个。但是如果同时引入了jackson-dataformat-xml包的时候,你会发现比较坑爹的现象。返回的json变xml了。重新设置StringHttpMessageConverter字符集为UTF-8,解决中文乱码问题。调用第三方接口,返回中文是乱码,因此需要引入自定义消息转换器。原创 2023-05-24 16:29:06 · 392 阅读 · 0 评论 -
Java dump快照分析
dump文件获取命令jmap -dump:format=b,file=heapDump <pid>pid 获取命令top获取完后可以使用jvisualvm分析jvisualvm导入dump文件进行分析原创 2022-03-16 13:19:49 · 645 阅读 · 0 评论