tenía curiosidad, veo este tipo de cosas mucho:¿El compilador JDK optimiza el uso de clases anónimas sin variables de instancia?
Arrays.sort(array, new Comparator<Integer>() {
public int compare(Integer a, Integer b) {
return Math.abs(a) < Math.abs(b);
}
});
ya que la clase anónima creada aquí no tiene variables de instancia, es el compilador JDK estándar lo suficientemente inteligente como para solamente una instancia de esa clase en el anonimato de una vez y reutilizarlo ? ¿O es aconsejable crear una instancia de esa clase anónima en un campo estático y pasar siempre el objeto comparador estático?
ACTUALIZACIÓN: Cuando digo "compilador JDK", me refiero a la parte JIT también. Lo anterior también es solo un ejemplo. Tenía mucha curiosidad si, como buena práctica, creara campos estáticos para lo anterior en lugar de crear instancias de clase anónimas. En algunos casos, el problema de rendimiento/uso de recursos será insignificante. Pero otros casos podrían no ser ...