JAVA实用工具

Arthas

Java 线上诊断工具

EasyExcel

用来对 Java 进行解析、生成 Excel 的框架,它重写了 poi 对 07 版 Excel 的解析,原本一个 3M 的 Excel 用 POI sax 需要 100M 左右内存,EasyExcel 可降低到 KB 级别,并且再大的 excel 也不会出现内存溢出的情况。03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

Postman

接口调试工具

LoadRunner

压测工具

jvisualvm

给jdk自带的jvisualvm安装Visual GC插件,经常遇到We're sorry the java.net site has closed。解决方法是找到jvisualvm新的更新地址,找到进入到Download页面,进入Download按钮下面有个Plugins,找到对应的自己的JDK版本的更新地址。进入jvisualvm的插件管理->工具->插件->设置->编辑,设置最新的更新地址。

ScriptEngineManager脚本引擎

JDK自带的脚本引擎

1
2
3
4
5
6
7
8
9
10
public Integer calc(String exp) {
try {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
return (Integer)engine.eval(exp);
}catch(Exception e) {
e.printStackTrace();
return null;
}
}

Tess4j

开源的OCR识别

1
2
3
4
5
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.5.4</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
public class Tess4jDemo {
public static void main(String[] args) throws TesseractException {
final ITesseract instance = new Tesseract();
instance.setDatapath("D:\\tessdata");
instance.setLanguage("chi_sim");

File imageLocation = new File("D:\\verifyImg");
for(File image : imageLocation.listFiles()){
System.out.println(image.getName()+" -->"+instance.doOCR(image));
}
}
}

Aviator表达式引擎

Java表达式引擎,Aviator支持三种类型计算:Boolean,字符串,和数字类型,数字类型只支持结果为Long

1
2
3
4
5
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>5.2.6</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class AviatorDemo {
public static void main(String[] args) {
// 字型计算
System.out.println(AviatorEvaluator.execute("1+2+3"));
// 符型计算
String exp1 = "'Hello '+ name";
Map<String,Object> env1 = new HashMap<>();
env1.put("name","tony");
System.out.println(AviatorEvaluator.execute(exp1, env1));
// 断型计算
String exp2 = "a+b>c";
Map<String,Object> env2 = new HashMap<>();
env2.put("a",5);
env2.put("b",6);
env2.put("c",7);
System.out.println(AviatorEvaluator.execute(exp2, env2));
}
}

验证码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- Happy-Captcha验证码 -->
<dependency>
<groupId>com.ramostear</groupId>
<artifactId>Happy-Captcha</artifactId>
<version>1.0.1</version>
</dependency>
<!-- anji验证码 -->
<dependency>
<groupId>com.github.anji-plus</groupId>
<artifactId>captcha-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
<!-- jcaptcha验证码 -->
<dependency>
<groupId>com.octo.captcha</groupId>
<artifactId>jcaptcha</artifactId>
<version>1.0</version>
</dependency>
<!-- kaptcha验证码 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>kaptcha-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>

drools规则引擎

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-ci</artifactId>
<version>7.6.0.Final</version>
</dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>7.6.0.Final</version>
</dependency>