- 前言
- jar包部署
- 查询Java进程
- 查询文件位置/文件搜索
- 关闭线程
- 运行jar包
- 挂起运行
- 日志查看
- 修改jar包配置文件
- 热部署
- 反编译
- 下载arthas
- 运行arthas
- 反编译操作
- 获取classLoaderHash
- 使用classLoaderHash进行编译
- 热加载
- 日志查看与下载
毕业一年多了,作为一名后端Java工程师。一直想做个将现在工作上常用技术做个总结。将近年底,又谈了个女朋友,动力满满。先从Linux开始吧!由外向里,由潜入深。
jar包部署 查询Java进程要部署jar包,得先找到jar包位置,然后关闭线程,上传jar包,nohup启动。
ps -f -C java
这是最常用的查询java线程的指令,如果因界面问题显示不完全,使用下面的指令。
ps -ef | grep java查询文件位置/文件搜索
find / -name xx.jar关闭线程
// 普通关闭 kill 28987 // 强制关闭 kill -9 28987运行jar包
java -jar xx.jar
缺陷:退出就关闭
挂起运行nohup java -jar xx.jar & [参数]日志查看
tail -f nohap.out修改jar包配置文件
// 打开文件 vim xxx.jar // 查找文件 '/'表示查找 /aa.yml // i 进入编辑 Esc + : + q + w 关闭保存退出热部署
当我们只修改了某个java文件,而线上项目不方便停运的时候,热部署是我们处理这类问题的一个方法。
反编译 下载arthascurl -O https://alibaba.github.io/arthas/arthas-boot.jar运行arthas
java -jar arthas-boot.jar反编译操作
jad --source-only com.framework.modules.api.controller.WebInterfaceApi > /tmp/WebInterfaceApi.java获取classLoaderHash
sc -d *WebInterfaceApi | grep classLoaderHash使用classLoaderHash进行编译
mc -c 439f5b3d /tmp/WebInterfaceApi.java -d /tmp热加载
redefine /tmp/com/example/demo/arthas/user/WebInterfaceApi.class日志查看与下载
- 查看
tail -f nohup.out // 查看文件大小 du -sh nohup.out
- 下载
- 清空日志
nohup.out
tail -f -n 500 nohup.out -> text1.txt
- 清空日志



