Java之所以能跨平台,是因为java虚拟机能跨平台。
      因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由虚拟机(JVM)来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。

java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。
java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件。
就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)
假如用windows移植到UNIX,只需把java文件是UNIX的jvm上编译成class文件,然后用jvm运行就可以了

转载于:https://www.cnblogs.com/YCHUAN/p/7779662.html

java 是怎么跨平台运行的相关推荐

  1. Java为什么能跨平台运行

     因为java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种"中间码"--字节码.不同的硬件平台上装有不同的java虚拟机(JVM),由JVM来把字节码再翻译成所对应的 ...

  2. Java在加载阶段会加载依赖吗,Java程序编译和运行过程之 一个对象的生命之旅(类加载和类加载器)...

    Java程序从创建到运行要经过两个大步骤 1:源文件(.java)由编译器编译成字节码ByteCode(.class) 2:字节码由Java虚拟机解释并运行 源文件编译成字节码,主要分成两个部分: 1 ...

  3. Java如何实现跨平台?原理是怎样的?

    学Java的小伙伴肯定都知道Java允许跨平台使用,那么你知道Java是如何实现跨平台的吗?原理又是怎样的呢?小千今天就来给你解答一下. 一.Java跨平台的原理 首先我们来说一下Java代码的运行过 ...

  4. swt能单独在linux运行么,java – 在Mac上运行基于SWT的跨平台jar

    我一直在开发一个基于SWT的项目,该项目旨在部署为Java Web Start,从而在多个平台上使用. 到目前为止,我已经设法解决了SWT所依赖的特定于系统的图书馆出现的出口问题(见相关的thread ...

  5. java为何是跨平台语言,以及java如何运行

    java为何是跨平台语言 java是跨平台语言:一次编写,处处运行(因为有各种类型的jvm,不跨平台) 如图所示: java如何执行 写代码(java) ->(class)->执行clas ...

  6. Java 跨平台运行机理:Dos 命令在桌面新建文件夹,并在其中编译、运行一段 Java 程序

    文章目录 前言 一.打开 Dos 命令界面 二.Dos 查看桌面文件目录序列 三.Dos 创建文件夹 四.相关 Windows 系统 Shell 命令补充 五.Dos 进入文件夹编写 Java 文件 ...

  7. 【java笔记】java语言的跨平台性和运行环境

    JVM:(java virtual machine) Java虚拟机,运行所有java程序的假象计算机,是java程序的运行环境,jvm运行在操作系统上 原理:jvm类似翻译(每个系统的jvm不同,但 ...

  8. Java语言的跨平台性或Java语言为什么说可以跨平台运行

    什么叫跨平台性? 一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台.  Java的运行机制 实现Java程序跨平台运行的核心是JVM虚拟机,不同的环境下安装不同版本的JVM,那么同 ...

  9. java的编译及运行

    2019独角兽企业重金招聘Python工程师标准>>> Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: ...

最新文章

  1. magento模板区块--首页content区块
  2. c语言数组与指针浅析
  3. Python MySQL选择
  4. r读取shape文件可视化_使用Python对大脑成像数据进行可视化分析
  5. vvv在线文档导出工具_使用ApiPost工具快速生成在线接口文档
  6. 复制构造函数与析构函数
  7. Django - rest - framework - 下
  8. python *args 和 **kwargs
  9. 矩阵论作业13,14,15讲
  10. 高斯消元--模板,原理
  11. PropertyUtils.copyProperties复制对象失败
  12. Java使用蔡勒公式快速计算某一天是星期几
  13. 安装Windows系统提示Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT分区
  14. 如何给下属布置工作?多人团队便签来帮你有效布置任务
  15. poj 1287 Networking(最小生成树)
  16. 2021年中国互联网企业100强(附名单)
  17. 有哪些分体式降噪耳机推荐?最值得入手的分体式降噪耳机
  18. C++学习/温习:新型源码学编程(三)
  19. 复化梯形公式c语言实验,实验4_数值积分与数值微分(完成版).doc
  20. 任志强:房地产是夜壶 宏观经济不行就拿出来用

热门文章

  1. 自动化用例设计原则+web自动化框架
  2. 软件测试工作中的沟通问题
  3. 从【银行销冠】化身测试工程师,小哥这样实现了人生的逆转
  4. python与财务数据挖掘_Python数据挖掘实战2:财政收入影响因素及预测
  5. @GeneratedValue不能使属性自增长
  6. 24点游戏java代码 中国开源社区_编程之美 1.16 24点游戏
  7. 日访问量1万mysql_日访问量1万服务器
  8. mysql文档 主从_Mysql主从文档
  9. CondenseNet: An Efficient DenseNet using Learned Group Convolutions
  10. PDE12 wave equation: charactistics