简介引入:
Java因为其使用虚拟机从而实现跨平台的功能。因为jvm由c++编写,在各种系统平台下都可以编译生成对应平台的jvm版本,而且这些jvm实现的功能一模一样,因此编写的Java代码文件在任意系统的虚拟机上都可以运行。
目录
1、JVM的本质
JVM即Java虚拟机,其本质就是一个程序而已,与pycharm、vscode、CF等程序没有本质区别。或许jvm的复杂程度还没有LOL程序复杂。
2、JVM的运行机理
以单进程为例,实际上jvm本身就是一个单进程的,但是其绝对是一个多线程的程序,因此需要使用频率更高的CPU才能让其跑的更快,比如全核心5.0Ghz的CPU。
因此,jvm运行时,肯定有一个main线程(请注意这个main线程是C++的main线程),然后由这个main线程开辟其他线程,然后这些新开辟的线程肯定得归main线程管理才行。
这些由main线程开辟的线程有:类加载器、代码解释器、程序计数器等。用于并发处理各种异步任务。
Java中的内存区是相对来说的,是相对