java踩坑记录

【写在前面】:有坑多分享,大家少踩坑

1,split 要做空判断,要不。。。。。

2,eclipse中的java-install一定要指向jre而不是jdk,虽然不会报错,但是会缺包报错,而且网上神仙多,各种处理方案。

标志性报错:

Caused by: javax.xml.bind.JAXBException

最终处理:全部用jdk1.7不行用jdk1.8就可以。

 

3,spring mapper.xxx 报空指针。

mapper不要通过new的方式,而要通过getbean的方式取相关数据。

 

4,SysPermissionMybatisSqlProvider中如果参数是map,要用以下判断条件,要不key为空的时候会直接报错。

map.containsKey("available") && map.get("available") != null

 

5,cookie设置值的方法里,不要直接取cookie值,因为cookie请求时传给用户,由浏览器保存,下次才能取到。

 

6,JacksonUtil.toJson(map)

如果工具类中设置了:mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);

那么key不存在值的时候就会直接忽略掉整个键值对。

 

7,记录日志如果是用map的话,最好用有序的map(LinkedHashMap

为什么呢?

因为当某个key的value值很大的时候,无序map把后面值全推到后面去,头就很大了。

 

8,程序异常没有走catch块?

try{

    int a = 1/0;

} catch (ParseException e) {

    System.out.println("666666666666666666");

    e.printStackTrace();

}

catch里面的异常类不足以捕获程序中的异常类型,就GG了。

【方案】:ParseException 改为Exception

 

你可能感兴趣的:(java)