Dos recomendaciones.
Primero: para el registro de bienes, use un paquete de registro moderno como log4j o del propio construido en el registro de Java. No se preocupe tanto por el rendimiento, la verificación del nivel de registro es del orden de nanosegundos. (es una comparación entera).
Y si tiene más de una sola declaración de registro, guarda todo el bloque:
(log4j, por ejemplo :)
if (logger.isDebugEnabled()) {
// perform expensive operations
// build string to log
logger.debug("....");
}
Esto le da la tala de control de capacidad adicional en tiempo de ejecución. Tener que reiniciar y ejecutar una compilación de depuración puede ser muy inconveniente.
Segundo:
Usted puede encontrar assertions son más lo necesita. Una afirmación es una declaración que se evalúa como un resultado booleano, con un mensaje opcional:
assert (sky.state != FALLING) : "The sky is falling!";
Siempre que los resultados de afirmación en una falsa, la afirmación falla y hay un AssertionError se lanza que contiene el mensaje (esto es una excepción no comprobada, destinado a salir de la aplicación).
Lo bueno es que la JVM los trata de manera especial y puede alternarlos en tiempo de ejecución hasta el nivel de clase, utilizando un parámetro VM (no es necesario volver a compilar). Si no está habilitado, no hay gastos generales.
Así es cómo habilitar las aserciones en Eclipse: [link] (http://www.coderanch.com/t/416987/vc/enable-Assertions-eclipse) –
Esto no es una respuesta. No explica cómo hacer que las declaraciones 'desaparezcan' para el compilador (por lo tanto, no son visibles en el archivo de clase). ¿Tienes algo de información sobre eso? –