jvm是不是可以把java代码翻译成o和1?虚拟机:指以软件的方式模拟具有完整硬件,VM概念
虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现 。常用的虚拟机有VMWare , Visual Box,Java Virtual Machine(Java虚拟机,简称JVM) 。
Java语言的一个非常重要的特点就是与平台的无关性 。而使用Java虚拟机是实现这一特点的关键 。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码 。而引入Java语言虚拟机后 , Java语言在不同平台上运行时不需要重新编译 。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行 。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行 。这就是Java的能够"一次编译 , 到处运行"的原因 。
Java虚拟机阵营:Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM…
启动流程
?
?
JVM由三个主要的子系统构成:
1.类加载器子系统
2.运行时数据区(内存)
3.执行引擎
?
?
JVM原理
JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器 。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机 , 可以在上面执行java的字节码程序 。
java编译器只需面向JVM , 生成JVM能理解的代码或字节码文件 。Java源文件经编译器 , 编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码 , 通过特定平台运行 。
JVM执行程序的过程 :
I.加载.class文件
II.管理并分配内存
III.执行垃圾收集
JRE(java运行时环境)包含JVM的java程序的运行环境
【java编译代码翻译 java代码在线编译】JVM是Java程序运行的容器,但是他同时也是操作系统的一个进程,因此他也有他自己的运行的生命周期,也有自己的代码和数据空间 。
JVM在整个jdk中处于最底层,负责与操作系统的交互,用来屏蔽操作系统环境,提供一个完整的Java运行环境,因此也叫虚拟计算机.操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境 。
1.创建JVM装载环境和配置
2.装载JVM.dll
3.初始化JVM.dll并挂接到JNIENV(JNI调用接口)实例
4.调用JNIEnv实例装载并处理class类 。
寄存器
所有的CPU均包含用于保存系统状态和处理器所需信息的寄存器组 。如果虚拟机定义较多的寄存器,便可以从中得到更多的信息而不必对栈或内存进行访问,这有利于提高运行速度 。然而,如果虚拟机中的寄存器比实际CPU的寄存器多,在实现虚拟机时就会占用处理器大量的时间来用常规存储器模拟寄存器,这反而会降低虚拟机的效率 。针对这种情况,JVM只设置了4个最为常用的寄存器 。它们是:
pc程序计数器
optop操作数栈顶指针
frame当前执行环境指针
vars指向当前执行环境中第一个局部变量的指针
所有寄存器均为32位 。pc用于记录程序的执行 。optop,frame和vars用于记录指向Java栈区的指针 。寄存器
栈结构
作为基于栈结构的计算机,Java栈是JVM存储信息的主要方法 。当JVM得到一个Java字节码应用程序后,便为该代码中一个类的每一个方法创建一个栈框架,以保存该方法的状态信息 。每个栈框架包括以下三类信息:
局部变量
执行环境
推荐阅读
- 直播如何有网红感觉,直播网红怎么赚钱
- ios能剪辑音乐的软件下载,苹果手机可以剪辑音乐的软件
- 网络电视增值业务怎么查询,网络电视增值业务怎么取消
- 华为鸿蒙oppo手机,华为鸿蒙系统oppo
- linux如何写命令 linux命令大全
- GIS上省会的标志符号,gis标识
- html5canvas拍照旋转,javascript旋转图片
- php接收tcp数据 php tcp通信
- 怎么更新显卡主板驱动系统,怎样更新显卡驱动?