– En cuanto a E / S, java.util.Scanner es lento. Está bien para la entrada típica del usuario, aunque si lo está utilizando para analizar archivos de texto grandes, tiene problemas. Intente usar algunas de las clases de E / S con buffer para este propósito (o si funciona en su situación particular, lea todo el archivo) y tokenizadores para procesar.
– Las cadenas son inmutables, así que tenga cuidado de cómo las maneja.
– Las excepciones son lentas, así que cansarse de ellas.
- ¿Cómo surgieron las estructuras de datos y los algoritmos?
- ¿Cuáles son algunos de sus mejores algoritmos de C ++ o C que está orgulloso de haber escrito?
- ¿Memcpy es más eficiente que copiar elemento por elemento en bucle iterativo?
- ¿Cuál es la mejor forma / algoritmo para detectar un patrón en una serie de tiempo?
- ¿Cuáles son algunos ejemplos de software del mundo real de pilas, colas y deques?
– Como Jason Barrett Prado mencionó, GC puede tener un gran efecto en el rendimiento. Una regla general que he escuchado es que aproximadamente el diez por ciento de su tiempo de ejecución se gastará en ello, aunque realmente depende del programa. Para combatir esto, intente no crear muchos objetos pequeños temporales (intente extraer la asignación de los bucles, etc.). También puede cambiar el tipo de algoritmo GC que ejecuta la JVM. Para más trabajos intensivos de memoria o GC, generalmente enciendo el algoritmo de barrido concurrente.
– Para trabajos de gran memoria, también ayuda a aumentar el tamaño del almacenamiento dinámico (la asignación se vuelve difícil cuando no hay mucho espacio en el almacenamiento dinámico).
– Realmente ayuda si tienes alguna idea de lo que están haciendo las clases de colección / utilidad (al menos a un alto nivel) detrás de escena. Personalmente, los uso mucho y tienen un gran impacto en el rendimiento. También tenga en cuenta las cosas sincronizadas en estas clases.
– Los perfiladores siempre son agradables.
Y, finalmente, surgió una búsqueda rápida con esta lista, que me parece bastante legítima:
http://www.javacommerce.com/disp…
Entre otras cosas, menciona todo lo relacionado con la concatenación de cadenas (‘use StringBuffer’).