java虚拟机是什么-创新互联
小编给大家分享一下java虚拟机是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
10多年的丰泽网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整丰泽建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“丰泽网站设计”,“丰泽网站推广”以来,每个客户项目都认真落实执行。什么是JVM?
Java虚拟机(JVM)是运行Java字节码的虚拟机,它是java编程语言的核心。当我们运行程序时,JVM负责将字节代码转换为特定于机器的代码。JVM还依赖于平台,并提供核心Java函数,如内存管理,垃圾收集,安全性等。
JVM被称为虚拟,因为它提供的接口不依赖于底层操作系统和机器硬件。这种与硬件和操作系统的独立性使得java程序可以在任何地方进行一次写入。
在现实世界中,JVM是一种规范,它提供了一个可以执行Java字节码的运行时环境。
JVM可以做什么?
JVM执行以下操作:
1、加载代码
2、验证代码
3、执行代码
3、提供运行时环境
JVM提供以下定义:
1、记忆区
2、类文件格式
3、注册集
4、垃圾收集堆
5、致命错误报告等
JVM架构
让我们来了解一下JVM的内部架构。它包含有类加载器,内存区域,执行引擎等。
1、类加载器
Classloader是JVM的子系统,用于加载类文件。每当我们运行java程序时,它首先由类加载器加载。Java中有三个内置的类加载器。
1)、Bootstrap ClassLoader:这是第一个类扩展,它是Extension类加载器的超类。它加载rt.jar文件,该文件包含Java Standard Edition的所有类文件,如java.lang包类,java.net包类,java.util包类,java.io包类,java.sql包类等。
2)、Extension ClassLoader:这是Bootstrap的子类加载器和System类加载器的父类加载器。它遍历位于$ JAVA_HOME / jre / lib / ext目录中的jar文件。
3)、System / Application ClassLoader:这是Extension类加载器的子类加载器。它从类路径加载类文件。默认情况下,classpath设置为当前目录。您可以使用“-cp”或“-classpath”开关更改类路径。它也被称为Application类加载器。
2、类(方法)区域
Method区域存储每类结构,例如运行时常量池,字段和方法数据,方法的代码。
3、堆
Heap是分配对象的运行时数据区域。
4、堆叠
Java 堆叠存储帧。Stack包含局部变量和部分结果,并在方法调用和返回中起作用。
每个线程都有一个私有JVM堆栈,与线程同时创建。
每次调用方法时都会创建一个新帧。当方法调用完成时,框架将被销毁。
5、程序计数器寄存器(Program Counter Register)
PC(Program Counter)寄存器包含当前正在执行的Java虚拟机指令的地址。
6、原生方法堆栈(Native Method Stack)
它包含应用程序中使用的所有本机方法。
7、执行引擎(Execution Engine)
它包含:
1)、虚拟处理器
2)、解释器:读取字节码流然后执行指令。
3)、实时(JIT)编译器:用于提高性能。JIT同时编译具有类似功能的部分字节代码,因此减少了编译所需的时间。这里,术语“编译器”指的是从Java虚拟机(JVM)的指令集到特定CPU的指令集的转换器。
8、Java本地接口(Java Native Interface)
Java Native Interface(JNI)是一个框架,它提供了一个接口,用于与另一种语言(如C,C ++,Assembly等)编写的另一个应用程序进行通信.Java使用JNI框架将输出发送到控制台或与OS库交互。
以上是java虚拟机是什么的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:java虚拟机是什么-创新互联
本文链接:http://scyanting.com/article/dsjodi.html