El compilador javac
de Sun tiene tienen el concepto de información de depuración que se puede (opcionalmente) omitir de la salida de clase compilada.
Mira the documentation, y echa un vistazo a las opciones -g
bandera:
-g
Generate all debugging information, including local
variables. By default, only line number and source
file information is generated.
-g:none
Do not generate any debugging information.
-g:{keyword list}
Generate only some kinds of debugging information,
specified by a comma separated list of keywords.
Valid keywords are:
source
Source file debugging information
lines
Line number debugging information
vars
Local variable debugging information
Estos son quizás no tan extensa como las optimizaciones de código de bytes los compiladores .NET pudieran realizar (que no estoy familiarizado, lo siento) , pero creo que en teoría están ahí por razones de rendimiento (archivos de clase más pequeños, etc.).
En la práctica, sospecho que no representarían una gran diferencia en el rendimiento del tiempo de ejecución en hardware moderno + JVM, pero están ahí.
Weeeeell, ¿qué hacen en .net? –
Relacionado: http://stackoverflow.com/questions/1313922/step-through-jdk-source-code-in-intellij-idea – finnw
¿Puede explicarme un poco, al no ser un experto de .net en absoluto, no puedo entiende tu pregunta – Riduidel