
开发遇到的问题
文章平均质量分 69
实战开发遇到的问题
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
DazedMen
这个作者很懒,什么都没留下…
展开
-
[解决] PDF转图片,中文乱码或显示方框的解决方案
在Java开发中,将PDF文件转换为图片是一项常见的需求,但过程中可能会遇到中文乱码或显示方框的问题。本文将深入探讨这一问题,并提供详细的解决方案,帮助开发者顺利地完成PDF到图片的转换。原创 2025-03-19 16:48:31 · 308 阅读 · 0 评论 -
深入剖析Java中synchronized使用中的常见问题与解决方案
明确锁对象:使用私有、不可变的锁实例。最小化锁粒度:仅同步必要的代码块。避免嵌套锁:按固定顺序获取锁。区分实例锁与类锁:静态变量需全局同步。评估性能:高并发场景考虑更高级的并发工具。通过理解的底层原理和典型误用场景,开发者可以更高效地利用这一关键字,在保证线程安全的同时,避免性能损失和潜在风险。原创 2025-02-13 14:03:32 · 55 阅读 · 0 评论 -
阿里云rocketMq集群模式和广播模式实现
阿里云rocketMq支持集群和广播模式两种方式订阅。支持协议包括http和tcp协议,而http协议仅支持集群消费。集群和广播模式区别在于同一个group下,多个实例是否都可以获取消息。广播模式支持,而集群模式不支持。本文主要介绍aliyun-openservices包整合spring系统开发广播模式配置实现 /** * 广播模式配置 * * @return */ public Properties getBroadcastPropertie原创 2021-02-07 17:32:31 · 1631 阅读 · 0 评论 -
Reflections 使用大坑
项目中使用Reflections扫描自定义注解,根据注解的值做逻辑处理。部分添加注解的类扫描不到,对比扫描到的类发现,代码没有任何问题,项目也没有异常日志打印出来,debug看源码发现Reflections类打印异常信息的日志级别为debug。在org.reflections.Reflections#scan(java.net.URL)方法中追踪源码,在此方法中点击scanner.scan(file, classObject)进入,实现类是org.reflections.scanners.Abstr原创 2020-08-01 18:57:35 · 2669 阅读 · 0 评论 -
[解决]springboot启动日志卡死,没有异常输出,没有info,debug日志输出
场景描述:springboot项目启动,日志停留在某处,不继续打印。jps看到服务启动, 访问服务接口失败,没有任何日志输出,包括异常日志也没有。解决办法:1.是否是log配置有问题,查看log配置没有问题,修改日志级别为debug,还是没有异常日志输出2.是否项目中存在异常捕捉,未打印异常信息。 经排查,修改代码中的e.printStackTrace() 。 但这不影响异常日志打印出来3.将服务器jar包下载下来,本地启动成功。服务器日志和本地日志 前后差别: 服务器日志卡在 数据库连接池原创 2020-05-14 20:44:03 · 2714 阅读 · 0 评论 -
三元表达式踩坑记录
三元表达式大家会经常用,格式:expression1 ? expression2 : expression3 ,准确利用三元表达式可以写出漂亮高效的代码,最近笔者用三元表达式踩了个深坑 场景1:三元表达式运用在if的复合判断中public static void main(String[] args) { Param param = getParam(); ...原创 2019-12-21 18:31:59 · 410 阅读 · 1 评论 -
记录一次支付业务cpu爆满导致系统崩溃
场景:业务流程:支付系统接受外部代理公司订单请求,系统内部处理订单流程并向银联网联发送支付请求,收到银网联响应,并处理响应信息给外部代理公司。突然某天生产服务cpu告警,达到100%。 排查问题逻辑1.top -c 查找耗cpu最多的进程和进程id2.java服务cpu占用率高 top -Hp pid 查找进程里cpu占用高的线程 jstack pid > /home/...原创 2019-12-20 14:25:28 · 269 阅读 · 0 评论 -
高效删除十万数据redis的set集合
应用场景:redis中存储了set集合,数据是万级别,最高2万数据,现在需要删除这个set集合,并且防止删除过程中,cpu突然增加,影响其他服务。解决办法有三种:1.为set集合设置过期时间,依赖redis定时器删除2.重置set集合并设置过期时间,依赖redis定时器删除3.直接删除set集合笔者使用的是jedis作为开发工具。/** * redis操作set集合测试...原创 2019-12-06 17:12:43 · 2427 阅读 · 0 评论 -
配置jfaster.mango输出sql日志的两种方式
在大部分项目系统中,日志有两种配置方式:*.xml和*.properties 。 本篇文件基于这两种日志配置文件,结合jfaster.mango配置输出sql日志1. 基于properties配置jfaster.mango输出sqllog4j.logger.org.jfaster.mango=DEBUG,mangolog4j.appender.mango=org.apache.log4...原创 2019-12-02 16:18:32 · 456 阅读 · 0 评论 -
[解决]org.h2.jdbc.JdbcSQLException: Table XXX not found
springboot+h2整合的项目中,启动项目访问h2的数据,报错org.h2.jdbc.JdbcSQLException: Table XXX not found;开始遇到这个问题,从网上找资源进行查找,但最终没有找到解决办法。因为我是对项目进行了二次开发,报错的项目的springboot和h2版本较低,springboot版本2.0.6.RELEASE,h2版本1.4.197。 我重新调...原创 2019-11-06 17:59:29 · 15687 阅读 · 2 评论 -
idea 删除模块,新建同名的模块,新模块不能集成到项目中
idea 删除模块,又重新添加新的同名模块,再构建项目的时候,新建模块始终不能被构建且不能加入到项目中,如下图:原因是.idea文件记录了同名的模块已经被删除了解决办法: 重新添加模块的pom文件,构建即可...原创 2019-10-24 16:48:03 · 1473 阅读 · 0 评论 -
InputStream.available()使用大坑
问题场景:文件下载功能,需要对原来的文件进行读取再输出到文件或浏览器中,会常用到InputStream.available()方法。经历过一次系统功能变更升级,需要将文件先下载到本地再响应出去,发现下载的文件不全百思不得其解,搜索好久资料,查找得知,以备忘记这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。 需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到...原创 2019-03-06 17:07:44 · 8499 阅读 · 0 评论