Description
Here is an excerpt
public Long getLong(String param, Long def) { String val = get(param); try { return val== null ? def : Long.parseLong(val); } catch( Exception ex ) { throw new SolrException( SolrException.ErrorCode.BAD_REQUEST, ex.getMessage(), ex ); } }
Long.parseLong() returns a primitive type but since method expect to return a Long, it needs to be wrapped. There are many more method like that. We might be creating a lot of unnecessary objects here.
I am not sure if JVM catches upto it and somehow optimizes it if these methods are called enough times (or may be compiler does some modifications at compile time)
Let me know if I am thinking of some premature optimization