工具
- 文件、内容搜索工具FileLocator pro
- markdown和其他格式转换工具
- 多浏览器host切换
- Netty使用的高性能并发库 JCTools
- 对象内存计算工具
开源项目
- Swagger增强ui
knife4j - 动态数据源
dynamic-datasource-spring-boot-starter - 博客个人站
halo-blog - 内网穿透
Netty-Proxy - Mybatis-Plus代码生成器
Mybatis-Plus代码生成器 - Netty示例
netty - 富文本编辑器
wangEditor - windows终端
terminal - skywalking分布式链路追踪
参考博文
下载地址 - 源码实时生成器
sparrow-js - 后台管理系统-若依
若依主页 - 比jconsole强大的监控工具,从jdk 9开始, visualVM不再集成在Oracle JDK,需要单独安装
下载地址
脚本
查找cpu>0的java线程
#!/bin/sh
# 查找目的进程
pid=`ps -ef|grep halo |grep -v 'grep'|awk '{print $2}'`
sfile="/tmp/java/$pid.trace"
tfile="/tmp/java/$pid.trace.tmp"
rm -f $sfile $tfile
echo "pid $pid"
jstack $pid > $tfile
#cat $tfile
ps -mp $pid -o THREAD,tid,time|awk '{if ($2>0 && $8 != "-") print $8,$2}'|while read line;
do
nid=$(echo "$line"|awk '{printf("0x%x",$1)}')
cpu=$(echo "$line"|awk '{print $2}')
echo "nid: $nid, cpu: $cpu %">>$sfile
lines=`grep $nid -A 100 $tfile |grep -n '^$'|head -1|awk -F':' '{print $1}'`
((lines=$lines-1))
if [ "$lines" = "-1" ];
then
grep $nid -A 100 $tfile >>$sfile
echo '' >>$sfile
else
grep $nid -A $lines $tfile >>$sfile
fi
done
rm -f $tfile
echo "read msg in $sfile"