包含java中的跨系统如何实现的的词条

本篇文章给大家谈谈java中的跨系统如何实现的,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、Java的跨平台特点是由什么保证的?2、同一个java程序能在不同的操作系统平台上运行,这是怎么实现的?3、java的跨平台工作原理4、简述JAVA 的工作机制。为什么它能实现跨平台

Java的跨平台特点是由什么保证的?

1、什么是平台

我们一般将CPU处理器和操作系统的整体叫做平台。CPU种类繁多,如Intel、AMD、PowerPC等等。不同的CPU有不同的特定的指令集来计算和控制计算机系统。操作系统是用户和计算机之间交互的界面软件,不同操作系统支持不同的CPU,即不同操作系统支持不同的CPU指令集,但不一定一种操作系统唯一支持一种指令集。像Windows、Linux、Mac都支持Intel和AMD的CPU指令集。

如果我们要开发程序,则我们需要确认平台是什么——CPU的类型即指令类型和操作系统。如果用标准C开发程序,使用不同的编译器后的可执行文件是可以在对应的平台上运行的。比如使用GCC编译,生成可执行文件可以在Linux上运行。使用特定编译器编译的程序只能在对应的平台上运行,编译器是与平台相关的,编译后的文件也是与平台相关的。这种执行方式称作编译执行,它把源程序与特定平台的编译器一次性编译成平台相关的机器码。优点是执行速度快,缺点是无法跨平台。

2、Java跨平台原理

接着我们看看Java程序的跨平台性是怎么实现的——Java程序被编译成一种中间语言,再由JVM将Java字节码(.class文件)翻译成机器语言。Java源程序编译的结果是生成Java字节码,不同平台下生成的Java字节码是相同的,但由JVM翻译成的机器码却不一样。再次强调,跨平台的是Java程序,因为其后面会被与平台不相关的编译器编译成与平台不相关的中间码。JVM不是跨平台的。不同平台下需要安装不同的JVM。

总结一下,无论我们使用什么语言编程,最终要在设备上运行,那一定要被翻译成机器能识别执行的机器码。C、C++这种编译性语言,在不同的编译器下直接编译特定的机器码,在特定的平台下运行。而Java则属于先编译后解释型的语言。与平台不相关的编译器编译成了与平台不相关的.class文件,然后再由JVM解释成其平台下的机器码。就是由于多出的这个机制,让Java程序看起来与众不同。

同一个java程序能在不同的操作系统平台上运行,这是怎么实现的?

在操作系统之上制作相匹配的java虚拟机,不同的虚拟机为上层提供相同的接口,自然就屏蔽掉下层的差异了。应了那句:没有加一层解决不了的事情。

包含java中的跨系统如何实现的的词条

java的跨平台工作原理

首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。

为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题,JAVA是如何做到这一点的呢?在上图中我们可以看到JAVA代码执行的流程。

JAVA源代码-JAVA字节码-JVM解释执行

我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。

简述JAVA 的工作机制。为什么它能实现跨平台

首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。

为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题。

Java的一大特色就是“write once, run anywhere”即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。

它的实现原理是在系统层面上又增加了一层虚拟机(Java Virtual Machine,简称JVM),且为每个平台都定制了对应的虚拟机。然后Java程序是在虚拟机上跑的,因此平台无关。

Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(每个平台都有对应的虚拟机)去运行。

所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。

整个流程如下图所示。

希望对您有所帮助!~

java中的跨系统如何实现的的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java中的跨系统如何实现的的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月3日 07:30:20
下一篇 2024年4月3日 07:36:28

相关推荐

  • excel2013如何实现繁简转换,excel繁简体转换怎样调出

    在EXCEL中怎么找到中文简繁体转换的工具 excel中如何把繁体字转为简体字在excel中可把繁体字转为简体字,通过点击“审阅,在中文简繁转换中选择”繁转简“就可以了。如下操作。 具体如下: 首先第一步根据下图所示,打开电脑中需要编辑的Excel文档。 第二步根据下图箭头所指,点击顶部【审阅】选项。 第三步在【审阅】菜单栏中,根据下图箭头所指,点击【简转繁…

    2024年5月11日
    4200
  • 包含excel下拉函数递增的词条

    Excel下拉数字递增怎么设置 在我们的电脑上打开excel表格,在表格输入一个数字。我们下拉数字的时候,发现全部都是这个数字,是复制的效果,点击下拉后旁边设置下拉属性图标。我们可以看到下拉默认是复制单元格的属性,勾选“以序列方式填充”。 打开excel2016,在任意单元格输入1。点击单元格右下+号,按住下拉,进行填充。点选编辑—填充—序列。选择列,等差序…

    2024年5月11日
    4000
  • linux系统告警,linux错误提示

    linux下怎么发送syslog协议的报文告警 在这种使用方式中,人们常说“发送到 syslog”。Syslog 协议 — 一个指定日志如何通过网络来传送的传输协议和一个针对 syslog 信息(具体见下文) 的数据格式的定义。它在 RFC-5424 中被正式定义。 这篇演示如何通过syslog将Linux和Unix的日志发送到指定的日志审计服务器中。 大部…

    2024年5月11日
    4100
  • excel函数系统日期,excel 系统日期函数

    如何用excel函数DATEDIF计算出生年月? 1、获取年公式:=DATEDIF(A2,B2,y)。获取月公式:=DATEDIF(A2,B2,ym)。获取日公式:DATEDIF(A2,B2,md)。 2、我们举个例子,大家就能很快的学会这个函数了。例如,我们要计算一个1987年1月1号出生的人的年龄。那么DATEDIF函数就应该写成=DATEDIF(198…

    2024年5月11日
    4900
  • 包含linuxsmb与nas同步文件夹的词条

    局域网共享smb跟nfs都可以吗? 从配置来看,samba比较复杂,nfs比较简单。实用性方面的区别:samba能解决win和linux,linux和linux之间的共享,但是SMB协议是MS的,SMB的高级特性是和windows的特性联系紧密的。但NFS更简洁,方便,更原生,兼容性更好。 如果创建共享时选择NFS协议,则单击设置可设置NFS共享信息。(1)…

    2024年5月11日
    2900
  • 学习黑客用什么电脑系统,初学黑客用什么电脑

    ddos黑客技术怎么学黑客ddos学习 系统学习TCP/IP方面的知识有很多原因。要适当地实施防火墙过滤,安全管理员必须对于TCP/IP的IP层和TCP/UDP层有很深的理解、黑客经常使用TCP/IP堆栈中一部分区或来破坏网络安全等。所以你也必须清楚地了解这些内容。 将服务器放到具有DDoS硬件防火墙的机房。专业级防火墙通常具有对异常流量的清洗过滤功能,可对…

    2024年5月11日
    3300
  • linux相关论文,linux系统论文两千字

    linux论文 1、技巧三:依据掌握的文献资料进行选题。文献资料是支撑、充实论文的基础,同时更能体现论文所研究的方向和观点,因而,作者从现有文献资料出发,进行选题和提炼标题,即成为第三大技巧。技巧四:从小从专进行选题。 2、(三)Linux Linux操作系统由林纳斯托瓦兹于1991 年研发出来,从严格意义上讲,Linux只是一个内核,基于Linux内核的完…

    2024年5月11日
    4000
  • 包含64位系统安java的词条

    电脑配置java环境变量 1、一个是用户Adminstrator的环境变量配置;另外一个是系统的环境变量配置。一般在我们自己本机使用系统环境变量配置即可(电脑上的所有用户都可以使用配置的java)。 2、右键单击此计算机并选择属性;如图:选择高级系统设置;如图:选择环境变量;如图:选择新建;如图:点击新建后,会出现这个。 3、方法一:依次点击:“我的电脑”-…

    2024年5月11日
    3200
  • 包含linuxumask022的词条

    如何设置UNIX/Linux中新创建目录或文件的默认权限 1、Linux下给新用户建立文件和目录权限,只需要添加该用户到希望他创建文件和目录的用户组里即可,案例如下:案例:希望新建用户admin,能在/baidu目录下创建文件和目录。 2、查看用户的权限掩码 命令:umask 目录:最大权限是777,减去umask的后三位(022),该用户创建的目录权限即默…

    2024年5月11日
    4000
  • 包含java读取p10证书的词条

    刚在交行办了个证书,下载时报“请求中的P10数据错误”,试了好多遍还… 1、遇到这样的情况可能是驱动没有安装好,建议先做初始化,然后再安装交行驱动,最后登录交行网站下载证书即可。 2、企业网银的ca证书一般是1年的有效期,过期前登录网银有提示可自助重新下载证书,不然就要去开户行重新打印授权码和参考号后上网下载证书了。 在华为手机下载文件后文件名是…

    2024年5月11日
    3000

发表回复

登录后才能评论



关注微信