java虚拟机的了解
jvm起到java程序跨平台运行的关键作用
jvm从软件层面屏蔽不同操作系统在底层硬件与指令上的区别

java程序在jvm中的运行过程:

通过javac命令编译.java文件成字节码.class文件,然后执行java命令的时候jvm就已经开始工作,将字节码对象装进类装载子系统,下一步就是到运行时数据区也就是内存模型分配空间,最后一步就是启动字节码执行引擎去运行内存区的代码;
jvm内存模型包括:堆、栈、本地方法栈、方法区(元空间)、程序计数器等;
堆stack:我们平时在开发工具中写代码new出来的对象都放在堆区这里;
栈(线程)heap:将线程中所有局部变量存放在线程栈中,每个线程包括主线程main都会从线程栈中开辟一个单独的空间存放自己的局部变量,这些局部变量都是线程私有的,其他线程是访问不到的

在线程栈的内部的某个线程的空间内,又给每个方法分配一个空间,main方法有一个特定的空间,这些空间都叫做栈针。每个栈针里面存的是这个方法里面的局部变量,这也就是局部变量的作用域只在这个方法内有用的原因
方法区method area:
程序计数器pc register:
posted on 2022-07-08 23:17 编写需求文档10万+ 阅读(30) 评论(0) 收藏 举报
浙公网安备 33010602011771号