开发经验分享
Java开发与架构
这个作者很懒,什么都没留下…
展开
-
Python使用Jpype调用Java Spring Fat Jar || 使用maven-shade-plugin插件打Spring Java Fat Jar
Spring Fat Jar 打包方式mavn打jar包常用3中方式:方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包方法二:使用maven-assembly-plugin插件打包方法三:使用maven-shade-plugin插件打包如果jar包中用到了Spring,则必须用maven-shade-plugin插件打包,如果在运行时出...原创 2020-04-13 16:21:43 · 409 阅读 · 0 评论 -
docker rm时提示device or resource busy问题解决
1、现象复现,提示device or resource busydocker rm -f recom-engine-serviceError response from daemon: driver “overlay2” failed to remove root filesystem for 68222175a2ec896c9a084c5fb87966588cf2ba644e6f8b6f3...原创 2019-12-03 20:35:02 · 6925 阅读 · 0 评论 -
使用JMeter对Motan、Dubbo等Java RPC服务框架进行性能压测入门教程记录
前言本文主要记录使用JMeter对Motan服务进行压力测试的关键步骤和遇到的问题及解决办法。主要步骤如下:采坑记录JMeter 2.13版本与commons-math3、commons-pool2不兼容报错内容:The following artifacts could not be resolved: commons-math3:commons-math3:jar:3.4.1,...原创 2019-08-10 20:02:57 · 483 阅读 · 0 评论 -
使用Python3自带的urllib发送HTTP POST请求|Python2和Python3中urllib用法的差异
背景线上运行的一些比较老的Python2脚本,由于种种原因,需要升级成Python3环境运行,由于Python2和Python3的不兼容,因此需要对脚本内容进行修改之后,才可以正常运行,本文记录关于升级过程中,关于urllib相关的修改点及遇到的问题和解决方案。问题记录问题:POST data should be bytes, an iterable of bytes, or a file ...原创 2019-08-22 10:58:36 · 635 阅读 · 0 评论 -
使用Python3的PyMySQL查询Mysql中的数据|Python3 ImportError: No module named ‘MySQLdb' 解决方案
背景线上运行的一些比较老的 Python2 脚本,由于种种原因,需要升级成 Python3 环境运行,由于 Python2 和 Python3 的不兼容,因此需要对脚本内容进行修改之后,才可以正常运行,本文记录关于升级过程中,关于数据库查询相关的改动点。问题及解决方案问题:ImportError: No module named ‘MySQLdb’解决方案为使用PyMySQL,对应的py脚...原创 2019-08-22 11:23:31 · 389 阅读 · 0 评论 -
使用Spring JavaMailSender 发送告警邮件|AuthenticationFailedException: 535 Error: authentication failed解决方法
前言本文记录了如何使用Spring自带的JavaMailSender发送告警邮件,作为某些场景下线上问题的报警监控。测试告警邮件发送内容如下:邮箱设置这里选择网易163邮箱,新建一个邮箱,专用于发邮件。在设置中设置客户端授权密码和勾选POP3/SMTP服务服务。示例代码Maven依赖 <dependency> <groupId...原创 2019-08-29 19:44:39 · 1479 阅读 · 0 评论 -
通过BeanPostProcessor统计每一个Bean初始化耗时|通过优先级队列PriorityQueue构建小顶堆获取动态添加数列的TopK算法
通过BeanPostProcessor统计每一个Bean初始化耗时思路:统计Bean耗时的基础数据结构是个Map,Map的键是Bean的名称,值是初始化耗费时间。postProcessBeforeInitialization在Bean初始化之前执行,因此记录初始化开始时间postProcessAfterInitialization在Bean初始化之后执行,因此通过初始化结束时间减去初始化...原创 2019-09-03 17:47:37 · 828 阅读 · 0 评论 -
获取接口所有实现类的三种方式:Spring的ListableBeanFactory容器的getBeanNamesForType方法、利用Reflections工具进行反射扫描、使用SPI
前言在策略模式应用中,需要获取到策略接口的所有实现类,本文记录三种获取某接口所有实现类的方法,分别是利用Spring的ListableBeanFactory容器的getBeanNamesForType方法,利用Reflections工具进行反射扫描、利用SPI方式。1、借助于Spring容器2、反射扫描3、SPI...原创 2019-09-04 19:40:10 · 4230 阅读 · 0 评论 -
SQL查询:区间数量统计|关于elt(数组取值)和INTERVAL(区间定位)的用法
基本需求找到发博量大于1000的用户并排序:group by + havingselect count(*) as num,uid from status group by uid having(count(*)>1000) order by count(*) desc统计平均发博量:group by+子查询select avg(a.num) from (select cou...原创 2019-09-11 14:28:39 · 1633 阅读 · 0 评论