¿Cómo puedo cambiar el comportamiento de la clase de cambio sobre la marcha?

Estoy tratando de editar un archivo de clase y ponerlo a disposición de la JVM en tiempo de ejecución. ¿Es eso posible, cómo puedo hacerlo?

Por ejemplo:

main() {
    for (int i=0;i<10;i++) {
        NewClass.method();
        //ask user if to continue..
    }
}

public class NewClass() {
    static void method() {
        sysout("hi");
    }
}

Cuando este bucle se está ejecutando, quiero cambiar el archivo NewClass () y cargarlo en la JVM, para que imprima "bye".

Aquí está el código completo:

try {
    for (int iCount = 0; iCount < 10; iCount++) {
        BufferedReader br = new BufferedReader(new InputStreamReader(
                System.in));
        System.out.print("Enter which method:");
        int i = Integer.parseInt(br.readLine());
        System.out.println(i);
        if (i == 1) {
            Called.calledMethod1();
        } else {
            Called.calledMethod2();
        }
    }
} catch (NumberFormatException nfe) {
    System.err.println("Invalid Format!");
}

Quiero ejecutar el método principal de una clase, y mientras se está ejecutando, quiero referirme a otra clase, editarlo y referirme al mismo método de la segunda clase y obtener resultados diferentes.

Yo no quiero:

  1. detener el jvm
  2. editar el código
  3. ejecuta el código nuevamente.

quiero

  1. edite el código en tiempo de ejecución y obtenga los cambios reflejados de inmediato.
Respuesta 1

Estoy haciendo una sala de chat usando conexiones simples de socket a socket. Tengo un servidor y un programa cliente. El servidor se ejecuta en el puerto 225, y luego cuando ejecuto el cliente en el puerto 225 para que puedan leer / escribir ...

Necesito tu ayuda. Tengo un ejecutable en C llamado "generator.out" que es una función main () que recibe int argc y char * argv []. Los argumentos para esta función principal son un archivo (llamémoslo muestra ...

Estoy tratando de llamar: https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester & AWSAccessKeyId = [ID de la clave de acceso del solicitante] & Version = 2012-03-25 & Operation = ...

Soy nuevo en el análisis DOM, su requisito es agregar los elementos en posiciones específicas en el archivo xml existente utilizando el analizador DOM. Obtendremos las posiciones y los nombres de los elementos que se agregarán, ...