java虚拟机(一,java为什么可以是平台无关性)

瑞芯微RK3506开发板Ethercat主站性能优化实战:从内核配置到微秒级延迟控制 本文详细介绍了在瑞芯微RK3506开发板上实现EtherCAT主站微秒级延迟控制的实战优化方案。核心在于部署Preempt-RT实时内核,并进行深度系统调优,包括CPU隔离、中断亲和性设置、内存锁定及电源管理调整。通过绕过Linux网络栈的专用驱动加载与配置,最终实现了稳定的高性能实时控制,满足工业自动化需求。 阅读详情

java体系结构包括四个独立却相关的技术:

1:java程序设计语言,就是我们通俗的代码

2:java class文件,就是我们编译后的代码

3:java应用编程接口(API),就是我们经常查阅的公共代码

4:java虚拟机

首先确定一个观念:我们运行的是class文件,我们是在java虚拟机上运的class文件,我们的代码的交互对象是java虚拟机。

其次再明确两个概念:java中有两种方法,java方法和本地方法

java方法:java语言编写的,编译成字节码,存储在class文件中

本地方法:其它语言(c,c++)编写的,编译成处理器相关的机器代码,保存在动态链接库,动态链接库和操作系统绑定


那么将java虚拟机和本地方法关联起来,通过本地方法来获取操作系统资源,来实现java虚拟机内class文件的需求,这样java不就和平台(操作系统)无关了么!


平台无关性图片

如图,无论是什么操作系统,只要提供可以和java虚拟机关联的本地方法,那么java程序就无须修改,直接在此系统运行。

这其实是转移了问题的处理位置,将矛盾放在java虚拟机和本地方法之间,让程序代码独立出来。

之后只要完成,各类java虚拟机的实现,和各种本地方法的支持,java的移植就变得非常容易。



字节最新开源模型 DA3(Depth Anything 3)使用教程(一)从任意视角恢复视觉空间 本文介绍DepthAnything3(DA3)模型,一种能够从任意视觉输入中预测几何结构的创新解决方案。DA3采用Transformer骨干网络,通过统一的深度光线表示简化学习过程,支持单目/多视角深度估计、姿态估计和3D高斯预测等多项任务。模型系列包含基础版、度量级和单目专用版本,其中嵌套版本DA3NESTED-GIANT-LARGE表现最佳。代码库提供交互界面、CLI工具和多格式导出功能,支持模块化扩展。实验表明DA3在各项任务上超越现有模型,所有训练数据均来自公开学术数据集。 阅读详情

相关推荐

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2901

什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”

一、什么是Java虚拟机 java虚拟机是执行字节码文件的虚拟机进程;java源程序即.java文件被编译器编译成字节码文件(.class)。然后字节码文件会由java虚拟机,解释成机器码(不同平台的机器码不同)。之后利用机器码操作硬件和操作系统。 二、为什么java被称作是与平台无关的编程语言 不同的平台装有不同的JVM,它们能够将相同的.class文件解释成不同的平台所需的机器码。正是因...

zhaomengxia123的博客 1441

MobileNet V3 图像分类

MobileNet V3

Henry的博客 1768

Java虚拟机与平台无关性

概述 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 ——《深入理解Java虚拟机》(从这里可以看到,字节码是一种文件格式) 我们都知道计算机只认识 0 和 1,所以我们所写的程序也需要经过编译器翻译成由 0 和 1 构成的二进制格式才能由计算机执行。 如今的计算机依然只能识别 0 和 1,但是由于虚拟机的出现,我们可以不需要将编写好程序直...

weixin_30338743的博客 281

ROS四旋翼无人机快速上手指南(4):阿木实验室PX4功能包飞行控制分析与讲解(重点章节)

成就更好的自己 这一章详细讲解一下阿木实验室(AMOV)的开源项目px4_command功能包,此功能包通过mavlink协议直接控制烧录px4固件的自驾仪,还融合了来自各个传感器的位姿,距离等信息,此外,功能包提供的接口向上对接应用层算法级的程序例如SLAM,kfc目标检测引导,路径规划等算法,因此,在整个无人机控制中起到了承上启下至关重要的作用。 用到的文件及工具包链接如下: AMOV实验室源码如下: https://gitee.com/theroadofengineers/px4_comman

The Road of Engineer 6171

YOLOv13改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 已更新种不同的改进方案,专栏内的每篇文章皆,均可顺利运行。2️⃣ 订阅专栏即可进群获取以及从的各种答疑内容。3️⃣ 全新的YOLOv13改进专栏,,只为更好的满足论文发表的要求。专栏内容,专栏实时评分,全网最高,质量保证。🎫。。

Limiiiing的博客 9157

深入Java虚拟机(2)——Java的平台无关性

一、平台无关性的好处 Java技术在网络环境下非常有用,其中一个关键理由是,用Java创建的可执行二进制程序,能够不加改变地运行于多个平台。 这样的平台无关性随之带来许多的好处。这将极大地减轻系统管理员的工作;此外Java的平台无关性在嵌入式设备环境下也非常有用;从开发者的观点看,Java能够减少开发和在多个平台上部署应用程序的成本和时间。 Java的平台无关性自然不言而...

weixin_30535043的博客 321

osgPython

osgPython是一组 Python 模块,为 OpenSceneGraph 的 C++ 库提供了完整的 Python 接口。这意味着你可以在 Python 中调用几乎所有的 OSG 功能,从创建简单的场景到复杂的渲染效果。核心优势开发速度快:Python 语法简洁,无需编译,快速迭代易于学习:比 C++ 更易上手,适合原型开发和教学生态丰富:可以结合 NumPy、Matplotlib 等科学计算库跨平台:与 OSG 一样支持 Windows、Linux、macOS性能考虑。

深之JohnChen的专栏 454

Java的平台无关性-深入学习Java虚拟机(一)

     一个不算话题的话题,你如果去问大牛,或许根本不懈于回答,但是对于我这种菜鸟而言,还是有必要理解记住。       大多的理解应该是这样的 java的平台无关=一次编译,到处运行,其实这个等号应该是针对象C,C++这种语言而言的,当编译C或者C++,所获取的二进制文件只能适合指定的硬件平台和操作平台的(这个二进制文件包含了一些机器码,而且字节顺序还依赖特定平台,比如高位在前,低位在前等)...

赵先颖的专栏 308

uniapp - 最新实现hbuilder项目运行到ios基座或苹果ios真机设备详细教程,如何在ios苹果手机上真机运行测试,IOS自定义基座在线打包调试(uniapp项目如何在苹果手机上运行调试)

uni-app,苹果,app,ios,设备,自定义基座,运行app到苹果手机,mac电脑,Xcode,hbuilderX,运行ios基座调试Uniapp,无需打包,苹果证书,ipa,运行失败,报错,无法启动,连接失败,出错,详细教程,如何解决这个问题,怎么办,申请iOS证书,运行项目到iOS基座,打包ios自定义基座,在iOS真机上运行,新手小白,超级详细的教程,dcloud如何苹果ios系统真机测试,调试基座失败,真机调试ios app,App基座安装后无法打开问题,真机运行时检测不到手机的问题或者基座安

✅ 精选推荐文章 1万+

21、使用 FastHenry 进行片上电感器的模拟与参数预测

本文介绍了使用 FastHenry 对片上电感器进行模拟和参数预测的方法。讨论了 FastHenry 的适用场景、线圈几何形状的选择与离散化方法,以及如何考虑模拟中的寄生效应。同时对比了 FastHenry 和 Magnet 在不同基板电阻率下的模拟精度,并提出了优化电感器设计的策略,为高效准确地预测电感参数提供了技术指导。

y9z0a1b的博客 293

什么是Java虚拟机?为什么Java被称为平台无关的编程语言

一、什么是java虚拟机? java虚拟机是执行字节码文件(.class)的虚拟机进程。 java源程序(.java)被编译器编译成字节码文件(.class)。然后字节码文件,将由java虚拟机,解释成机器码(不同平台的机器码不同)。利用机器码操作硬件和操作系统 二、为什么java被称为平台无关的编程语言? 因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不

子衿_青青的博客 1万+

YOLOv9分割训练自己数据和推理训练好模型,并教你使用Labelme工具标注数据(附YOLOv9分割模型结构图),全网最详细教程

YOLOv9 通过研究数据传输时的信息丢失问题,提出了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)架构,提高了参数利用率和模型性能。与 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。PGI 适用于从轻型到大型的各种模型,使从头开始训练的模型能够获得更好的结果。YOLOv9 被评价为新的 SOTA 实时目标检测器。接下来本文手把手教你训练自己分割数据集和推理训练好的分割模型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1492

JAVA虚拟机的平台无关性

     JAVA的平台无关性是JAVA语言应用与网络的一个特性。计算机中编译执行也可以在UNIX系统下编译执行。因此和计算机平台无关。    首先什么是平台无关性?    我个人认为平台无关性是指程序的运用与运行此程序的计算机类型无关(我认为与计算机的操作系统无关),即一个JAVA源程序可以在Windows系统的    那JAVA是怎么实现的呢?    这就引入了JAVA虚拟机,其实所用的消除异构的方法就是让所有的计算机有一个都可识别而且可以运行的平台。JAVA虚拟机有很多材料上说是一个虚拟的计算机,可以

静颜依存的技术部格 538

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《Java虚拟机》学习2-Java平台无关性

没有想到还专门有这么一章来介绍java的平台无关性,对这部分我不是特别关注,因为我在工作中不是十分有必要关注平台无关性,但是其中的一些思想和特点对理解Java系统还是很有帮助的。 为什么要平台无关? 废话!当然是方便了,你随手写一个Hello,world!,地球上所有的设备都能显示出来,那多牛B!写hello,world! 你可能觉得没有用,那要是写一句“今年过节...

163

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java 虚拟机 1(平台无关性,java 内存区域)

1.java 的平台无关性。     首先,.java源码会被编译成.class 文件,再由不同平台的JVM 进行解析。java 语言在不通平台上运行时不需要进行重新编译,java 虚拟机在执行字节码的时候,把字节码转化成具体平台上的机器指令 。 2.java 虚拟机与java 内存区域     其中,较重要的为RunTime Data Area ,即java 内存区域。其包含线程私有的 ...

abc13663873130的博客 215

《深入Java虚拟机》学习笔记二:平台无关性

第二章 平台无关 1、Java体系结构对平台无关性的支持       对平台无关性的支持,是分布在整个Java体系结构中的,所有的组成部分,包括语言、class文件、API及虚拟机,都在对平台无关性的支持方面扮演着重要角色。       Java平台扮演一个运行Java程序与其下的硬件和操作系统间的缓冲角色。Java程序被编译为可运行于Java虚拟机的二进制程序,并且假定JavaAPI的class...

水上风荷 159

java语言的平台无关性是指什么,《深入Java虚拟机》学习笔记二:平台无关性

第二章 平台无关1、Java体系结构对平台无关性的支持对平台无关性的支持,是分布在整个Java体系结构中的,所有的组成部分,包括语言、class文件、API及虚拟机,都在对平台无关性的支持方面扮演着重要角色。Java平台扮演一个运行Java程序与其下的硬件和操作系统间的缓冲角色。Java程序被编译为可运行于Java虚拟机的二进制程序,并且假定JavaAPI的class文件在运行时都是可用的,接着虚...

weixin_39916681的博客 1082

JAVA的平台无关性 —— Java虚拟机与字节码

  java语言和其它语言相比,最大的优势就是它的平台无关性。这是因为Java可以在平台之上再提供一个Java运行环境,该Java运行环境由Java虚拟机、类库以及一些核心文件组成。Java虚拟机的核心是所谓的字节码指令,即可以被Java虚拟机直接识别、执行的一种由0,1组成的序列代码。字节码并不是机器指令,因为它不和特定平台相关,不能被任何平台直接识别、执行。Java针对不同平台提供Java虚拟...

QingCheng_g的博客 1385

Java虚拟机体系结构 - 平台无关性

为什么要平台无关:         由于编译后的Java的可执行二进制文件(.class文件),能够在不加改变地运行于多个平台,因此,Java技术在网络环境下非常有用。另外,在嵌入式的世界,Java平台的无关性也有助于简化系统管理任务:如Jini技术(专用于给网络带来即插即用功能的技术),大大减少了在互联网环境中对嵌入式设备的管理任务。         Java程序可以不加修改地运行与多个平台

zhizhiahappy的专栏 531

深入Java虚拟机--第二章 平台无关性

2.1 为什么要平台无关 Java 技术在网络环境中非常有用,因为1 yongJava创建的可执行二进制程序,能够在不加改变地运行于多个平台。 Jini技术--专门用于给网络带来即插即用功能的技术。嵌入式设备采用Jini技术通过网络彼此交换对象。平台无关性。 从开发者的角度:Java能够减少开发和多个平台上部署应用的成本和时间。         不利因素:使得商家进入更多的市场,同时也带来

寧靜致遠 412

java实现是什么意思_Java | 为什么 Java 实现了平台无关性?

前言从最初学习Java开始,我们就知道Java的口号是:“一次编写,到处运行”。没有了平台的束缚,使得我们再编写Java时并不需要(那么)关心将来运行程序的平台。那么,Java是如何实现 平台无关性的呢?今天我们来讨论这个问题。为什么是“不需要(那么)关心”,而不是“不需要关心”?因为在工程实践中,不全面考量运行程序的系统 / 网络 / 硬件 / 国家等因素是不可能的。目录1. 运行环境 = 操作...

weixin_42682754的博客 453
上一篇: java代码优化随笔(一)
下一篇: java虚拟机(二,虚拟机中对象创建过程)
gcc_front
博客等级 码龄9年 16粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值