java 是怎么跨平台运行的

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运行就可以了

				
时间: 2024-11-10 11:14:20

java 是怎么跨平台运行的的相关文章

Java为什么能跨平台运行

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

1.Java为什么能跨平台运行?请简述原理

因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台. 1, java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的. 2,java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件. 3,就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,

java程序可以跨平台运行的原因

java有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台. 1, java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的. 2,java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件. 3,就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行 原文地址:https://www.cnblogs.com/zhu

JAVA为什么能够跨平台运作及运行过程

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

Java虚拟机及跨平台原理

Java虚拟机及跨平台原理 Java Virtual Machine(JVM) 是可运行java字节码的假象计算机,java的跨平台性是相对其他编程语言而言的,用C语言的编程和执行过程来同java的编程和执行过程进行对比: 同C语言一样,首先也要编写java源程序,然后由java编译器将java源程序编译为JVM可执行的代码,即java字节码,java源程序编译后生成的字节码文件就相当于C源程序编译后的windows上的exe可执行文件,JVM相当于计算机系统(操作系统+硬件环境),在windo

Java内存管理-程序运行过程(一)

勿在流沙住高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 相信在做Java开发的伙伴一定知道 JVM(Java Virtual Machine(Java虚拟机)!本系列会开启对JVM相关的知识的探索和总结,让我们一起踏入JVM的学习之旅中,去了解和发现更加精彩的Java世界! 正如奥古斯特·罗丹 说过:世界上不是缺少美,而是缺少发现美的眼睛.Java的世界也是如此! 本文地图: 1.什么是程序 在计算机领域当中,程序就是为了能够让计算机执行

java和javac编译运行java程序

目录 目录 前言 编译命令介绍 javac java 代码编译与运行 java类发现规则 分离class和java文件 参考链接 前言 给自己定了一个月学习JVM虚拟机的计划,不管有没有卵用,学点新东西总是好的. 但是在学习过程中,我想在命令行测试一些JVM参数的时候,发现自己脱离了IDE,竟然无法直接编译java程序!! 我的原则不能抱怨太多,像个Loser,不会的就花时间补回来. 下面,主要是总结一些如何在命令行中编译java程序.主要是想记录总结一下java的类发现原则. 编译命令介绍 其

(转载)关于ubuntu下java环境配置及其运行

转载地址:http://blog.sina.com.cn/s/blog_6730a3aa0100vsiy.html 其实不需要怎么配置,直接到ubuntu软件中心里面搜jre就行了,安装上. 在终端输入:sudo apt-get install openjdk-6-jdk 再在ubuntu软件中心里面搜索eclipse下载安装即可. 不安装eclipse也行,不过运行什么的都要在终端了..... 下面就运行试试: 1.直接终端运行: 在桌面建立一个文本文档命名为test.java,使用其他编辑器

跨平台运行的服务插件

开源一个跨平台运行的服务插件 - TaskCore.MainForm 本次将要很大家分享的是一个跨平台运行的服务插件 - TaskCore.MainForm,此框架是使用.netcore来写的,现在netcore已经支持很多系统平台运行了,所以将以前的Task.MainForm改良成跨平台的服务共大家使用和相互交流:本来这篇应该分享的是nginx+iis+redis+Task.MainForm构建分布式架构后续文章,但使用.netcore来定义一个服务插件和跨平台测试经过让我既兴奋又头痛,不说了