美文网首页
java的平台无关性

java的平台无关性

作者: Harold_h | 来源:发表于2019-11-14 21:42 被阅读0次

  一劳永逸

 劳苦一时,永远得到安逸。北魏·贾思勰《齐民要术·种苜蓿》:“长生种者,一劳永逸,都邑负郭,所宜种之。”汉·班固《封燕然山铭》:“兹所谓一劳而久逸,暂费而永宁者也。”唐·杜牧《贺平党项表》:“不暂费者不久宁,不一劳者不永逸。”

理解:人们对事务的理解都是做事需要不断的积累和努力,没有一劳永逸的事情。但是java的平台无关性真的是“一劳永逸”——一次编译,到处执行(Write Once ,Run Anywhere)。

平台无关性

    平台无关性就是说一门语言的运行与计算机无关,他可以运行在计算机不同的系统,或者其他机器上。

java平台无关性的实现

  计算机只识别0 1代码。所以真正被执行的其实是二进制文件。唯一不同的是不同的系统或者机器他们对同样的事物定义的二进制是不同的。java中实现平台无关性的三大重要角色:java编程规范、class文件、java虚拟机。

java编程规范定义数据类型和取值范围。举一个简单的例子,对于int类型,在Java中,int占4个字节,这是固定的。

但是在C++中却不是固定的了。在16位计算机上,和在32位的机器上他们的长度可能是不同的。

所有运行的Java文件都要被编译成class文件

  java虽然是平台无关性的,但是java虚拟机是跟平台有关的,不同的平台需要的java虚拟机也不同,所以java代码能够运行的条件是java虚拟机的存在,他们会将相同的class文件编译成当前系统能够正确解读的二进制文件。

编译

编译分为前端编译,和后端编译。

前端编译主要指与源语言有关但与目标机无关的部分。Java中,我们所熟知的javac的编译就是前端编译。除了这种以外,我们使用的很多IDE,如eclipse,idea等,都内置了前端编译器。主要功能就是把.java代码转换成.class代码。

后端编译主要是将中间代码再翻译成机器语言。Java中,这一步骤就是Java虚拟机来执行的。

相关文章

  • JVM——Java虚拟机架构

    Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。 平台无关性...

  • 初始Java

    Java特点 1.平台无关性 平台无关性是指java能够运行于各种平台(操作系统),java引进虚拟机(Virtu...

  • 《深入Java虚拟机》之平台无关性

    1、概念 平台无关性:Java的平台无关性指的就是使用Java编写的程序能够不做任何改变的运行于多个平台。 2、平...

  • Java底层知识学习笔记

    Java平台无关性如何实现?首先我们看一张图片:Java平台无关性.png (1)Java源码首先要被编译成字节码...

  • Java语言有哪些特点?

    简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠性; 安全性; ...

  • java 语言有哪些特点?

    简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠性; 安全性; ...

  • Java(一)

    JVM (Java Virtual Machine), Java 虚拟机; JVM 是 Java 平台无关性实现的...

  • java的平台无关性

    一劳永逸劳苦一时,永远得到安逸。北魏·贾思勰《齐民要术·种苜蓿》:“长生种者,一劳永逸,都邑负郭,所宜种之。”汉...

  • JAVA 平台的无关性

    1.平台无关性 1.1 什么是平台无关性 所谓的平台无关性是指一个项目不会因为平台的变动而受到影响,通俗的说...

  • Java虚拟机体系结构

    1 概述 众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构...

网友评论

      本文标题:java的平台无关性

      本文链接:https://www.haomeiwen.com/subject/pgydictx.html