运行时时数据区: 1.堆:Java对象的存储区域,用new字段分配的Java实例和数组,都被分配在堆上,Java7后运行时常量池从方法区上移到了堆上。 2.方法区:和堆一样都是所有线程共享的,主要存储的是类信息,静态变量,常量,即时编译器编译后的代码等数据。 3.虚拟机栈:虚拟机中执行每个方法的时候,都会创建一个栈帧用于存储局部变量,操作数栈,动态链接,方法出口等信息。 4,本地方法栈:与虚拟机栈类似,但是使用的是native方法 5.程序计数器:指示虚拟机下一条执行的字节码指令。 流程:首先编译器将代码编译成字节码文件,类加载器利用全类名将字节码文件加载带运行时数据区的方法区,字节码只是jvm的一套指令规范,操作系统不能识别,所以就需要执行引擎将字节码翻译成底层系统指令,交给cpu去执行。在这个过程中还需要调用其它语言的本地接口。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!