指令系统,java为什么跨平台?

首先计算机为什么可以工作:因为我们可以和计算机交互,并且计算机可以执行我们的对它的发号施令。
Q:那我们是怎么和计算机交互的呢?它又是怎么工作的呢?
:是由软件(系统软件等)+这种计算机的指令系统+硬件协同配合的。(是不是很抽象,那就向下看吧。
裸机:只有硬件的计算机称之为裸机。什么都干不了,机器是死的,人是活的,需要人来指挥机器。那人和计算机就要进行交互,告诉计算机我要你做什么,那怎么告诉计算机呢?就是通过写软件,那写软件肯定需要一种语言吧。比如写东西就需要用一种语言吧,我现在就是在用汉语写文章,你能看懂,那我们之间就是在交互,只是你可以给我留言,也可以看完就走,反正我传达的文字,你能看懂,我并没有要你去执行什么操作,或者返回什么结果给我。那我和计算机交互的语言名称就是机器语言,我让计算机去给我计算,取数据,就是我在跟计算机交互,计算机能识别的是机器语言,机器语言指令是由0和1编码的,我们的汉字是由偏旁部首编码的是同样的含义,不同的偏旁部首的组合,构成了不同的汉字,那不同的0和1构成的序列就构成了不同的指令。
聊聊计算机指令系统

  • 指令系统不是唯一的,不同的操作系统,系统使用的系统指令是不一样的。所以在不同的平台可执行的文件也是不同的。比如linux系统上的软件装在windows上是运行不了的,因为编译链接形成的.exe文件,Windows根本不认识是什么,当然无法执行什么操作。linux有自己的指令集系统,Windows也有自己的指令集系统。
  • 机器硬件可以识别的语言(机器语言)的集合。
  • 它是软件和硬件的主要界面。(硬件要能识别这些指令,并协同起来工作,计算机软件最终都被转换成这种(仔细理解一下)指令系统里面的指令序列)

Q:但是现在特别流行的java语言为什么就可以跨平台呢,也就是java可以一次编译到处运行?
原因是:你编写的程序通过编译形成会形成一种中间的二进制代码,这种二进制代码java虚拟机可以认识,每个宿主机上面都有一个java虚拟机(java虚拟机就是:用软件模拟的机器),java虚拟机就是用来解释的,它把这种二进制的代码翻译成为本地系统可以识别的一种二进制代码,所以说java是跨平台的。
通俗的理解就是,比如你要到很多国家旅游,你不想学习那么多门语言,你就雇佣一个java翻译,这个java翻译会很多国家的语言,你带上她无论在哪个国家都畅通无阻。c++翻译呢,她会的语言只有一种,比如就是西班牙语,你只能到西班牙旅游带上c++翻译才有用,你把c++翻译带到美国就没有用,你用中文跟c++翻译说话,她是可以理解你说的话,但是无法把你的意思转成英语输出来,她无法从西班牙跨到美国,就是无法跨平台。
系统软件:是计算机系统的大管家,它要管理计算机里面所有的资源,要管理计算机执行的各种任务。
应用软件:就是你经常安装的QQ,网易云之类的软件。
中间件:位于系统软件和应用软件之间的东西。具体是什么我还不知道,哈哈哈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java 是一种跨平台编程语言,也就是说,Java 程序可以在不同的操作系统(如 Windows、Linux、macOS 等)上运行。这是因为 Java 程序首先被编译成字节码(Bytecode),然后由 Java 虚拟机(JVM)解释执行。 Java 虚拟机是一种可以在不同操作系统上运行的软件,它可以将 Java 程序的字节码翻译成具体的机器指令,从而使 Java 程序能够在不同平台上运行。 因此,Java 可以在跨平台的环境中广泛应用,包括 Web 应用程序、移动应用程序、桌面应用程序、企业应用程序等。这也是 Java 在软件开发领域中广泛使用的一个重要原因。 ### 回答2: Java可以跨平台运行的原因主要是由于其采用了"一次编写,到处运行"的理念和Java虚拟机(JVM)的存在。 首先,Java在编写程序时使用的是Java语言,它的语法和结构相对稳定,并不依赖于特定的操作系统。这意味着,只要在编写程序时遵循了Java语言的规范,不使用特定于某一个平台的特性,Java程序就可以在任何支持Java的操作系统上运行。 其次,Java虚拟机(JVM)充当了一个中间层,作为Java程序和操作系统之间的桥梁。Java程序在编译后会生成字节码,而不是直接生成本地机器码。这些字节码可以被JVM所解释和执行,而不需要重新编译为特定平台的机器码。JVM根据不同的操作系统,提供了对应的实现,负责将字节码翻译成可执行代码。 由于Java程序只需要在不同平台上安装相应版本的JVM,就可以运行,而不需要考虑底层操作系统的差异。这种机制使得Java程序具有很高的可移植性和兼容性,能够在各种操作系统上保持相同的运行行为和效果。 总结来说,Java之所以能跨平台运行,主要源自于Java语言的设计和JVM的存在。Java程序在不同平台上运行时,只需要依赖相应版本的JVM,而不需要重新编写和编译,从而实现了高度的可移植性和兼容性。这是Java成为一种广泛应用于不同平台的编程语言的重要原因之一。 ### 回答3: Java之所以可以跨平台运行主要是因为它采用了一种特殊的编译和执行方式。 首先,Java源代码是由Java编译器将其转换成字节码,即一种与特定硬件架构无关的中间代码。这个字节码可以被称为“Java虚拟机指令集”,它不会直接在特定硬件上进行执行,而是在Java虚拟机上运行。 其次,Java虚拟机(JVM)是Java平台的核心组件,它是Java字节码的解释器和执行引擎。JVM将字节码逐行解释并执行,而不是通过直接在特定操作系统上运行机器码。 因此,Java程序不需要直接与底层操作系统进行交互,而是通过JVM与操作系统进行交互。当一个Java程序被运行时,用户的操作系统使用JVM来解释和执行Java字节码。 由于JVM的存在,Java程序可以在任何安装了与平台兼容的JVM的操作系统上运行。这意味着可以将Java程序开发和编译在一个操作系统上,然后在其他不同操作系统的计算机上运行。 此外,Java平台为不同操作系统提供了一致的API(应用程序接口),这使得Java程序能够调用操作系统的各种功能和服务,而无需考虑底层操作系统的差异。 总结来说,Java之所以可以跨平台运行,主要是因为它使用了中间字节码和虚拟机的方式,不直接依赖于底层操作系统。这种设计使得Java程序可以在不同操作系统的计算机上运行,并能够保持一致的功能和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值