JVM -- 运行原理及架构

JVM(Java Virtual Machine), 即JAVA虚拟机,是一种计算设备的规范,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟计算机功能来实现的。

JVM是实现JAVA语言平台无关性的关键。一般高级语言如果要在不同的平台上运行,就必须编译成不同平台的目标代码。但JAVA语言不一样,它是利用JVM来屏蔽平台相关性,使得JAVA语言只需编译成JAVA字节码(JVM的目标代码),就可以在不同的平台上不加修改的运行。JVM在执行字节码时,把字节码解释成具体平台上的机器指令执行,这就是JAVA实现“一次编译,到处运行”的原因。

当然,不同平台的JVM(JDK中)是不同的,但这并不是开发人员需要关心的内容。Oracle会提供不同的平台上的JVM实现,只需安装即可。对于开发人员来说,JAVA编程语言是平台无关的。

JVM规格

JVM的设计目标是提供一个基于抽象规格描述的计算机模型,为解释程序开发人员提供很好的灵活性,同时也确保Java代码可在符合该规范的任何系统上运行。JVM对其实现的某些方面给出了具体的定义,特别是对Java 可执行代码,即 字节码(Bytecode)的格式给出了明确的规格。这一规格包括 操作码操作数的语法和数值、 标识符的数值表示方式、以及Java类文件中的Java对象、 常量缓冲池在JVM的存储映象。这些定义为JVM 解释器开发人员提供了所需的信息和开发环境。Java的设计者希望给开发人员以随心所欲使用Java的自由。
JVM定义了控制Java代码 解释执行和具体实现的五种规格,它们是:

JVM运行原理

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的字节码程序。

Java编译器只需面向JVM,生成JVM能理解的代码和字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条字节码翻译成不同平台的机器码运行。

JVM是怎么执行Class文件的呢?

1. 加载.class文件

2. 管理并分配内存

3. 执行垃圾收集

JRE(Java Runtime Environment) Java程序的运行环境。

JVM是JAVA程序运行的容器,同时也是操作系统的一个进程。它有自己的声明周期,也有自己的代码和数据空间。

JVM在整个JDK的最底层,负责与操作系统进行交互,用来屏蔽操作系统环境。

操作系统装入JVM,是通过JDK中的java.exe来完成,通过下面的4个步骤:

1. 创建JVM,装在环境和配置

2. 装载JVM.dll

3. 初始化JVM.dll并挂接到JNI实例(JNI调用接口)

4. 调用JNIEnv实例装载并处理class类。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值