Skip to content

Commit

Permalink
next version
Browse files Browse the repository at this point in the history
  • Loading branch information
calvin1978 committed Sep 27, 2018
1 parent e8b3d8b commit b6de288
Show file tree
Hide file tree
Showing 17 changed files with 34 additions and 27 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

各位看官看着是好的,烦请“Star”。

[1.0.5 VJTop黄金2版](https://github.com/vipshop/vjtools/releases/tag/v.1.0.5) - 2018.8.24
[1.0.6 中秋国庆版](https://github.com/vipshop/vjtools/releases/tag/v.1.0.6) - 2018.9.24

## Java Standard

Expand Down
2 changes: 1 addition & 1 deletion docs/standard/ali.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
| VIP 规范 | 阿里规范 | 修改|
| -------- | -------- |-------- |
|4.布尔表达式中的运算符个数不超过4个 | |扩写规则|
|5.善用三元运算符 | |增加规则|
|5.善用三目运算符 | |增加规则|
|6.能造成短路概率较大的逻辑放前面 | |增加规则|
|10.能用while循环实现的代码,就不用do-while循环 | |增加规则|
| | 3. 在高并发场景中,避免使用 ”等于”作为条件|删除规则|
Expand Down
2 changes: 1 addition & 1 deletion docs/standard/chapter02.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
if ((a == b) && (c == d))
```

* [Sonar-1068:Limited dependence should be placed on operator precedence rules in expressions](https://www.sonarsource.com/products/codeanalyzers/sonarjava/rules.html#RSPEC-1068),我们修改了三目运算符 `foo!=null:foo:""` 不需要加括号。
* [Sonar-1068:Limited dependence should be placed on operator precedence rules in expressions](https://www.sonarsource.com/products/codeanalyzers/sonarjava/rules.html#RSPEC-1068),我们修改了三目运算符 `foo!=null?foo:""` 不需要加括号。

----

Expand Down
2 changes: 1 addition & 1 deletion docs/standard/chapter06.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ if (existed || (...)) {

----

**Rule 5.【推荐】简单逻辑,善用三元运算符,减少if-else语句的编写**
**Rule 5.【推荐】简单逻辑,善用三目运算符,减少if-else语句的编写**

```java
s != null ? s : "";
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<groupId>com.vip.vjtools</groupId>
<artifactId>vjtools</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<name>vjtools</name>
<packaging>pom</packaging>

Expand Down
2 changes: 1 addition & 1 deletion standard/sonar-vj/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>com.vip</groupId>
<artifactId>sonar-vj</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<packaging>sonar-plugin</packaging>

<properties>
Expand Down
2 changes: 1 addition & 1 deletion vjkit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Maven :
<dependency>
<groupId>com.vip.vjtools</groupId>
<artifactId>vjkit</artifactId>
<version>1.0.5</version>
<version>1.0.6</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion vjkit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.vip.vjtools</groupId>
<artifactId>vjkit</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<packaging>jar</packaging>
<name>vjkit</name>
<description>VIP's core java libraries</description>
Expand Down
29 changes: 18 additions & 11 deletions vjmap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ vjmap的原始思路来源于R大的[TBJMap](https://github.com/alibaba/TBJMap)

# 2.使用说明

[Download vjmap-1.0.5.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjmap/1.0.5/vjmap-1.0.5.zip) (from Maven Central)
[Download vjmap-1.0.6.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjmap/1.0.6/vjmap-1.0.6.zip) (from Maven Central)

# 2.1 注意事项

Expand All @@ -31,18 +31,13 @@ JAVA_HOME的定位,通过读取环境变量JAVA_HOME,如果没有定义,

需要root权限 (sudo -E vjmap.sh ...,),权限与jmap -heap pid相同.

如果无法联通进程时,可尝试使用jstack -F pid, jmap -heap pid 结果
如果无法联通进程时,可尝试执行jstack -F pid, jmap -heap pid 自行比对

如果在容器中运行,需要打开ptrace权限。

3. 意外停止

vjmap的运行需要一段时间,如果中途需要停止执行,请使用ctrl+c,或者kill vjmap的PID,让vjmap从目标进程退出。

如果错用了kill -9 ,目标java进程会保持在阻塞状态不再工作,此时必须执行两次 kill -18 目标进程PID,重新唤醒目标java进程。


## 2.1 常用指令
## 2.2 常用指令

针对活着的进程,PID为进程号

Expand All @@ -65,28 +60,40 @@ vjmap的运行需要一段时间,如果中途需要停止执行,请使用ctr
```

## 2.2 仅输出存活的对象
## 2.3 仅输出存活的对象

原理为正式统计前先执行一次full gc

```
./vjmap.sh -old:live PID > /tmp/histo-old-live.log
```

## 2.3 过滤对象大小,不显示过小的对象:
## 2.4 过滤对象大小,不显示过小的对象:

```
// 按对象的oldgen size进行过滤,只打印OldGen占用超过1K的数据
./vjmap.sh -old:minsize=1024 PID > /tmp/histo-old.log
```

## 2.3 按class name排序,配合大小过滤, 生成用于两次结果比较的报表:
## 2.5 按class name排序,配合大小过滤, 生成用于两次结果比较的报表:

```
./vjmap.sh -all:minsize=1024,byname PID > /tmp/histo.log
```


## 2.6 其他注意事项


1. 意外停止

vjmap的运行需要一段时间,如果中途需要停止执行,请使用ctrl+c,或者kill vjmap的PID,让vjmap从目标进程退出。

如果错用了kill -9 ,目标java进程会保持在阻塞状态不再工作,此时必须执行两次 kill -18 目标进程PID,重新唤醒目标java进程。

2. OldGen碎片

如果很久没都有进行过CMS GC or Full GC,OldGen将有非常非常多的Live Regions,执行 -all 和 -old 时将非常缓慢,比如 -all的第一步Get Live Regions就会非常缓慢,如非要故意观察死对象的场景,此时可尝试先触发一次full gc, 如使用vjmap -all:live, 或 jmap -histo:live 或 jcmd GC.run 等。

# 3.输出示例

Expand Down
2 changes: 1 addition & 1 deletion vjmap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.vip.vjtools</groupId>
<artifactId>vjmap</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<name>vjmap</name>
<description>jmap with per generation object stats</description>

Expand Down
2 changes: 1 addition & 1 deletion vjmap/src/main/java/com/vip/vjtools/vjmap/VJMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

public class VJMap {

public static final String VERSION = "1.0.6";
public static final String VERSION = "1.0.7";

private static PrintStream tty = System.out;

Expand Down
2 changes: 1 addition & 1 deletion vjmxcli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
因为每调度一次`java -jar vjmxclient.jar`,其实是创建了一个新的JVM,因此在vjmxcli.sh 加上了一系列JVM参数减少消耗。


[Download vjmxcli-1.0.5.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjmxcli/1.0.5/vjmxcli-1.0.5.zip)
[Download vjmxcli-1.0.6.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjmxcli/1.0.6/vjmxcli-1.0.6.zip)


必须与目标JVM使用相同的JDK版本运行。
Expand Down
2 changes: 1 addition & 1 deletion vjmxcli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>com.vip.vjtools</groupId>
<artifactId>vjmxcli</artifactId>
<name>vjmxcli</name>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<description>jmx command line client</description>

<properties>
Expand Down
2 changes: 1 addition & 1 deletion vjstar/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.vip.vjtools</groupId>
<artifactId>vjstar</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<packaging>jar</packaging>
<name>vjstar</name>
<description>VIP's best practice libraries</description>
Expand Down
2 changes: 1 addition & 1 deletion vjtop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

## 2.1 概述

[Download 1.0.5.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjtop/1.0.5/vjtop-1.0.5.zip) (from Maven Central)
[Download 1.0.6.zip](http://repo1.maven.org/maven2/com/vip/vjtools/vjtop/1.0.6/vjtop-1.0.6.zip) (from Maven Central)

vjtop运行所需权限与jstak相同,必须与目标JVM使用相同的JDK版本运行,必须与目标JVM使用相同用户运行。如果仍有问题,请看后面的执行问题排查章节。

Expand Down
2 changes: 1 addition & 1 deletion vjtop/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.vip.vjtools</groupId>
<artifactId>vjtop</artifactId>
<version>1.0.6</version>
<version>1.0.7-SNAPSHOT</version>
<name>vjtop</name>
<description>Linux top-like JVM info and busy threads monitoring tools</description>

Expand Down
2 changes: 1 addition & 1 deletion vjtop/src/main/java/com/vip/vjtools/vjtop/VJTop.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

public class VJTop {

public static final String VERSION = "1.0.6";
public static final String VERSION = "1.0.7";

public VMDetailView view;
private Thread mainThread;
Expand Down

0 comments on commit b6de288

Please sign in to comment.