Implementación de Javac: ¿Qué instrucciones jvm produce una llamada a método?

Suponiendo que tengo un método para llamar al sitio en Java. ¿Cuál es el bytecode jvm equivalente (aparte de la llamada que se traduce a invokevirtual / static, etc.)? Estoy más interesado en los comandos que cargan el receptor en la pila.

-Obviamente, un comando es aload.

-Otro podría ser que otra invocación devuelva un objeto ref en la pila

-Tres, la nueva instrucción. (por ejemplo, nuevo A (). foo (). Se duplica. Pero el duplicador es consumido por el constructor)

-cuatro, tal vez (??) Dup. (cuando se tiene a.foo (); a.bar (); ¿Existe alguna posibilidad de que el compilador produzca aload y luego dup en lugar de aload aload?)

Mi mayor pregunta son los comandos rest dup. Porque barajan la pila. cuando los produce javac? ¿Los usa al compilar un sitio de llamadas?

He tratado de encontrar documentaciones sin suerte. Luego encontré el código fuente, pero llevará días investigarlo. Creo que los archivos Code.java y Gen.java son responsables del proceso de traducción / compilación.

Respuesta 1

Tengo un objeto Abrió una FileConnection. Ahora, hice la referencia del objeto nulo. Luego se ejecuta GC [Garbage-Collecter]. Entonces, GC liberará el objeto y también cerrará la FileConnection en poder de Object. ...

Tengo un programa que crea múltiples archivos de texto de triples rdf. Necesito comparar los triples y hacerlo rápido, ¿cuál es la mejor manera de hacerlo? Pensé en poner los triples en una matriz y ...

Necesito crear una clase Java que cree una copia de seguridad de mi base de datos. Mi problema es que no sé cómo hacerlo usando una base de datos SQLite. ¿Alguien puede mostrarme cómo?

Estoy en el proceso de hacer una GUI donde ingreso una cadena en un cuadro de texto y, una vez que hago clic en un botón J, un segundo cuadro de texto producirá la cadena que ingresé en el primero o producirá una cadena aleatoria ...