简述java虚拟机的概念,java虚拟机包括哪几部分
如何解决写爬虫IP受阻的问题?立即使用。
java虚拟机的基本组件:
(视频教程分享:java课程)
类加载子系统、运行时数据区(JVM内存模型)、执行引擎、本地方法接口
类别载入器:
主要负责加载编译。类字节码文件放入运行时数据区,以便在运行时数据区中使用。
运行时数据区(JVM内存模型):
1.堆:主存储对象,由多个线程共享(垃圾收集的主要区域)。
2.方法区:主要存储常量、静态变量和类元信息(类名、方法、字段、版本等。).
3.线程栈:存储方法参数、局部变量、中间操作结果、对对象的引用,并提供一些其他模块需要的数据。
4.本地方法栈:本地方法栈为虚拟机使用的本地方法服务。
5.程序计数器:当前线程执行的字节码的行号指示符,在本地方法执行时为空。
执行引擎:
执行引擎是JVM执行Java字节码的核心,执行方式主要分为解释执行、编译执行、自适应优化执行和硬件芯片执行。
本地方法接口:
用非java语言实现的方法接口。
jdk1.8 jvm的内存结构图:
1.8之前的JVM内存模型和1.8之间的差异:
主要区别:
1.元数据区域取代了永久层代。元空间的本质和永久生成类似,都是JVM规范中方法区的实现(ps:方法区是java虚拟机中的规范,永久生成和元空间都是方法区的实现)。
2.元数据区域已从虚拟机移动到本地内存。
3.在jdk1.8中,常量池和静态变量被移到堆中存储(逻辑上,它们仍然属于方法区)。
推荐:java简介以上是java虚拟机基本组件的详细介绍。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。