JVM se compone principalmente de tres subsistemas
Hay muchos máquina virtual de Java, no sólo Hotspot (sol), hay J9, JRockit
3 4 5
1,类加载子系统
2.运行时数据区(内存结果)
3.执行引擎
5 base de datos de tiempo de ejecución se divide en cinco partes
堆 方法区
虚拟机栈栈 本地方法栈 程序计数器
程序计数器:指向地址(指向当前线程正在执行的字节码指令的地址)
虚拟机栈: 存储数据(存储当前线程运行方法时所需要的数据,指令,返回地址 (栈是一种数据结构,用来存储数据)
Una pila de la máquina virtual para un marco de pila, la pila se divide en cuatro partes (FILO: primero en la última hacia fuera)
局部变量表
操作数栈
动态链接
方法出口/返回地址
Resolver
comando cmd
javac demo1.java //将java文件编译为class文件
java demo1 //执行class文件
javap -c demo1.class > demo1.txt //反编译class文件 转到demo1.txt文件中
descompilar el contenido del archivo (conjunto de instrucciones) la instrucción de referencia ajustado JVM
const: Los datos almacenados método Java operando pila
de la tienda: los datos almacenados en la tabla de variables locales del operando pila
de carga: copiar los datos a la tabla de variables locales operando pila
iconst_1 //将方法中的第一个int型存入栈中(操作数栈)
istore_1 //将操作数栈中的第一个Int推入局部变量表
iload_1 //将局部变量表的第一个Int数据复制到操作数栈
iadd
bipush