1:java方法大小超过限制
单个Java方法不能超过65535字节
The code of method xxx() is exceeding the 65535 bytes limit
单个Java文件常量个数上限是65536
Too many constants, the constant pool for XXX would exceed 65536 entries
详见:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.11
2:Can not construct instance of java.util.ArrayList$SubList: no default no-argume
List x = list.subList(a,b));
改为List x = new ArrayList(myArrayList.subList(a,b)));
3:bound must be positive
在使用new Random().nextInt(1)的时候,nextInt后面的参数必须是正数
4:直接修改线上jar包里面的配置文件
在ubuntu里面试过,是可以直接修改,首先安装zip和unzip(sudo apt-get install zip && sudo apt-get install unzip),然后直接vi包,根据提示的路径找到你要修改的文件,保存即可。
5:StrSubstitutor过时了
使用org.apache.commons.text.StringSubstitutor就可以了
Map valuesMap = HashMap();
valuesMap.put("animal", "quick brown fox");
valuesMap.put("target", "lazy dog");
String templateString = "The ${animal} jumped over the ${target}.";
StrSubstitutor sub = new StrSubstitutor(valuesMap);
String resolvedString = sub.replace(templateString);