JVM->Java Virtual Machine:Java虚拟机,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
基本认知:
Java程序执行过程:
Java 源文件—->编译器—->字节码文件
字节码文件—->JVM—->机器码
Java类的加载步骤:
通过类的全限定名来获取定义类的二进制字节流
将字节流所代表的静态存储结构转化为方法区的运行时数据结构
在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。
文件格式验证
元数据验证
字节码验证
符号引用验证
JVM线程实体:
JVM线程->程序执行过程中的一个线程实体,JVM 允许一个应用并发执行多个线程。
从此,我们应该意识到,在Java中,当提到线程就应该是指JVM线程和Java线程。其中JVM线程指的是Hotspot JVM 后台运行的系统线程,而且Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。
??[注意事项]:
[1].当线程本地存储、缓冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。
[2].Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可用的 CPU 上。
[3].当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,会释放原生线程和 Java 线程的所有资源
特别需要知道的是,Hotspot JVM 后台运行的系统线程主要是:
版权声明:本文为博主原创文章,遵循相关版权协议,如若转载或者分享请附上原文出处链接和链接来源。
原文:https://www.cnblogs.com/mazhilin/p/13066387.html