es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Extrae un hilo de ejecución en Java mínimo.

¿Hay alguna herramienta que pueda rastrear la ejecución del código y generar clases Java reducidas que capturen los métodos que realmente se ejecutan? Estoy tratando de extraer un poco de código de una gran base de código sin incluir toneladas de dependencias estáticas. Extracción de dependencias dinámicas.

Por ejemplo, si el método M de la clase C nunca se ejecuta, el código extraído dejaría fuera ese método, junto con todo lo que utiliza y depende de ese método.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, existen herramientas que pueden rastrear la ejecución de código y generar clases Java reducidas que capturan los métodos que realmente se ejecutaron. Una de esas herramientas es ProGuard. ProGuard es una herramienta ampliamente utilizada para reducir, optimizar y ofuscar código Java. Es capaz de eliminar código no utilizado, incluyendo clases completas y sus dependencias.

    ProGuard utiliza análisis estático para determinar qué partes del código no se utilizan y luego las elimina. También puede utilizar análisis dinámico, donde rastrea la ejecución del código y genera un informe de los métodos que realmente se llamaron. Esta información se puede utilizar para crear una versión reducida del código que incluye solo los métodos necesarios y sus dependencias.

    Para utilizar ProGuard para la extracción de dependencias dinámicas, es necesario generar un informe de los métodos ejecutados utilizando una herramienta como Java Flight Recorder o JProfiler. Luego, se puede utilizar este informe para configurar ProGuard y eliminar el código no utilizado.

    En general, ProGuard es una herramienta poderosa para optimizar el código Java y eliminar dependencias innecesarias. Puede ser especialmente útil cuando se trabaja con bases de código grandes donde es difícil identificar y eliminar manualmente el código no utilizado.

Comments are closed.