1:本地java代码,通过idea啥的编译器先编译成 字、节、码
2:环境有没有J、R、E (JRE里面有 jvm 和java类库啊)
3: 字节码加载到jvm-先是加载到方法区-运行的时候,虚拟机会执行方法区里面的代码
看看这个图!!
有没有印象??
4:运行的时候,每当调用进入一个java方法,java虚拟机会再当前线程的java方法栈中生成一个栈帧,存放局部变量和字节码的操作数,
这个栈帧的大小是提前计算好的,而且java虚拟机不要求栈帧再内存空间里连续分布、-栈帧-栈帧-......栈帧-栈帧.....(栈帧组成了栈)
退出执行方法的时候(不管正常还是异常退出),栈帧就弹出来了。。。。弃之、、
5:字节码放到java虚拟机里了,执行不了啊。。底层硬件不认识啊!! what??
6:咋整啊?翻译啊,翻译成机器码,执行就阔以了。谁翻译?java虚拟机额!
看下面!!
哈
哈
哈
哈
就这么运行的,蟹蟹~
网友评论