GIT JVM

Git rebase 分支代码

  • 同步 apahce/master 到 local/master 和 github/master

git pull origin master
git reset --hard origin/master
git push wankunde master --force

  • 缓存文件

git stash

  • rebase 到 master

git checkout loggable
git rebase master
IDEA 中解决冲突, --> continue rebase

  • 恢复原来环境

git push wankunde loggable --force
git stash apply

  • clone 远程PR到本地review

git pull origin pull/555/head:allow_file_based_batch_connectors
git checkout allow_file_based_batch_connectors

fork后的项目同步

在自己的项目上发起一个pull request,将base fork 和head fork交换下位置(即将原始项目向自己的项目中进行同步)。同步后对代码merge即可。

如果原始项目有新的branch,需要同步新的新的branch到自己的项目中。

# 1.将项目B clone 到本地
git clone -b master 项目B的git地址

# 2.将项目A的git地址,添加至本地的remote
git remote add upstream 项目A的git地址

# 3.在本地新建一个分支,该分支的名称最好与项目A中新增的那个分支的名称相同以便区分,从项目A中将新分支的内容 pull 到本地

git checkout -b 新分支名称 upstream/新分支名称

# 5.将 pull 下来的分支 push 到项目B 中去
git push origin 新分支名称

Fork 后的代码同步

git pull upstream   # 下载源库的所有最新代码
git push origin  # 同步所有最新代码
git push  --tags  # 同步所有tags
------------
使用如下两个命令撤销提交:

git reset --hard  commit-id2
git push origin HEAD --force
------------
清理本地tags后同步远程tags
git fetch origin --prune --tags

checkout remote branch

git remote -va
git checkout -t upstream/branch-1.6

Java线程在linux实现

  • Java线程在Linux中为进程
  • top -Hp [pid] 查看Java线程
  • pstack [pid] 查看线程的系统调用
  • pstree -a [pid] 或者 pstree -c [pid] 查看线程的父子关系

通过XManager 远程监控

Way 1

  • 在xshell 连接的时候配置 ** 连接 - SSH - 隧道 - X11转移 - XManager **
  • 打开XManager 即可显示远程

Way 2

  • 在远程主机上设置 export DISPLAY=192.168.150.8:0
  • XManager 启动passive模式
  • 新建XStart,通过ssh模式,连接到主机,并配置要执行的命令
  • 补充

Xshell 5 注册码: 690313-111999-999313
Xftp 5 注册码:101210-450789-147200
Xmanager 5 注册码:101210-450789-147200

Xshell4.0注册码 690313-111999-999313
xftp 4.0注册码 101210-450789-147200

Iftop 监控页面菜单

  • t 来往的数据合并成一行
  • p 显示来往双方端口号
  • n 使用DNS解析机器名
  • N 解析服务的端口号
  • iftop -i eth1 监控指定网卡

Analyze object layout schemas in JVMs

Official website:http://openjdk.java.net/projects/code-tools/jol/

down jar : http://central.maven.org/maven2/org/openjdk/jol/jol-cli/

example : java -jar jol-cli/target/jol-cli.jar internals java.util.HashMap

JFR

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=5s,filename=myrecording.jfr RemoteInstance

  • 分析JFR结果。使用Java Mission Control工具打开JFR文件即可。

Java Mission Control

server 端启用JMX的服务

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=40076 -Dcom.sun.management.jmxremote.password.file=/wls/deployop/tomcat-7.0.56/conf/jmxremote.password  -Dcom.sun.management.jmxremote.access.file=/wls/deployop/tomcat-7.0.56/conf/jmxremote.access"

jmxremote.password内容

用户名 密码

jmxremote.access 内容

monitorRole   readonly
controlRole   readwrite \
              create javax.management.monitor.*,javax.management.timer.* \
              unregister

客户端直接点击jmc.exe 就可以执行

1.enable heapdump:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -XX:OnOutOfMemoryError =”sh ~/cleanup.sh”

2.enable remote debug:
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n

3.enable GC log:
-Xloggc:/logs/date +%F_%H-%M-%S-gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCCause
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M

4.enable JMX:
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=/conf/jmxremote.access

5.enable Jprofiler:
-agentpath:/opt/jprofiler/bin/linux-x64/libjprofilerti.so=port=8849

6.enable EMMA:
-Demma.rt.control=true -Xverify:none -Demma.coverage.out.file=/opt/codecoverage_emma.ec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值