the exception stack is like blow, and we konw The frequent throwing of exceptions can impact system performance. what can we do about this ?

"main@1" prio=5 tid=0x1 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
      at java.lang.ArrayIndexOutOfBoundsException.<init>(ArrayIndexOutOfBoundsException.java:65)
      at sun.reflect.generics.parser.SignatureParser.current(SignatureParser.java:95)
      at sun.reflect.generics.parser.SignatureParser.parseSuperInterfaces(SignatureParser.java:559)
      at sun.reflect.generics.parser.SignatureParser.parseClassSignature(SignatureParser.java:214)
      at sun.reflect.generics.parser.SignatureParser.parseClassSig(SignatureParser.java:156)
      at sun.reflect.generics.repository.ClassRepository.parse(ClassRepository.java:57)
      at sun.reflect.generics.repository.ClassRepository.parse(ClassRepository.java:41)
      at sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository.java:74)
      at sun.reflect.generics.repository.GenericDeclRepository.<init>(GenericDeclRepository.java:49)
      at sun.reflect.generics.repository.ClassRepository.<init>(ClassRepository.java:53)
      at sun.reflect.generics.repository.ClassRepository.make(ClassRepository.java:70)
      at sun.reflect.generics.repository.ClassRepository.<clinit>(ClassRepository.java:43)
      at java.lang.Class.getGenericInfo(Class.java:2548)
      at java.lang.Class.getGenericSuperclass(Class.java:765)
      at org.codehaus.jackson.type.TypeReference.<init>(TypeReference.java:33)

And the test case is very simple:

public class ATest {
    public static void main(String[] args) {
        String str = "{\"aa\":\"bb\"}";
        try {
            Object o = JacksonMapper.getInstance()
                    .readValue(str, new TypeReference<Map<String, String>>() {
                    });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}