jvm是一个跨平台程序,是java实现跨平台的基础,其作用相当于外使馆翻译,即不同的操作系统像不同的国家,而当你编译运行java程序时生成的字节码文件就是你所要表达话,只有通过jva将其翻译成不同的语言不同国家的人才能理解你所表达的意思。
其下分为几大部分:
1. 程序计数器
2. Java虚拟机栈
3. 本地方法栈
4. 堆
5. 方法区
1:程序计数器
其根本作用是在程序运行时指向程序当前所运行的代码,再切换线程后再回到该程序时可以接着上次运行的结果继续运行,还可以实现代码的顺序执行,如while,if..else等。
特点:所占空间小,生命周期短随线程的结束而死亡。
2.Java虚拟机栈
Java虚拟机栈会为每一个即将运行的Java方法创建一块叫做“栈帧”的区域,这块区域用于存储该方法在运行过程中所需要的一些信息。