Java跨平台特性的实现原理




众所周知,Java语言具有一个十分了不起的特性:跨平台特性。 即:一次编译处处执行

在所有的具有跨平台特性的语言中,我想Java必定算得上是最典型的了。

Java的火爆很大一部分原因可以归功于他具有跨平台特性了。

归功于Java的这种跨平台特性,他大大的帮助开发者避免的重复开发的,极大的减少了程序开发人员的工作量。并且这种特性也帮助了企业减少了重复开发的费用支出,降低了开发成本。可见不论对于开发者还是企业这都是极好的。

说了这么多你是不是对Java的跨平台特性又有所了解呢?

既然Java的跨平台特性这么受人瞩目,你是不是也十分好奇这种跨平台特性是怎么实现的呢?

既然有疑问,那就带着疑问看下去吧!

首先我们先聊一下平台是什么?为什么要跨平台?

这里的平台所指的是具体的操作系统

常用比如:windows、Linux、MacOS

三套操作系统及对应的是三个不同的开发、使用平台,由于这三套操作系统之间并不是互通的,所以就显而易见的会带来开发和使用的不便利了。因此就十分需要一种可以横跨多个操作系统的特性的支持,这就是为什么需要跨平台了。

常言道:“只要思想不滑坡,方法总比困难多!”正是存在着这些不便所以跨平台的特性便横空出世了。

下面我们就是开始讲解Java跨平台的实现原理

Java的跨平台的实现原理其实也是是十分容易理解的。 这里我们需要提到Java语言中一个是重要的东西了:Java虚拟机(JVM Java Virtual Machine)

可以说正是由于有了jvmJava才有了他的跨平台特性。

我知道现在直接就引出了jvm可能会有一点难以理解,但是当你看懂我的解释后你就会明白jvm是干什么活的,就十分容易让人理解了。

首先我们要知道在计算机的底层中是完全不认识我们这里写的文字、图片、视频等等。

那么计算机到底认识什么呢?其实在计算机的底层的认识且只认识0 与 1这两个数字,既然这样那么要怎么使不同的操作系统都能认识我们写的程序呢?

那现在你是不是已经又想法了?

没错。我们可以找一个翻译,把我们编写的程序翻译成特定的操作系统的可以识别的二进制文件给计算机识别。

说到这里你应该明白jvm做什么工作了吧!

jvm具体的工作过程:

Java是一门高级计算机编程语言,那么Java程序代码计算机必然无法直接识别,所以需要jvm虚拟机翻译。

在我们编写完一个Java程序后就会得到一个以 .java 结尾的文本文件(计算机无法识别)

然后我们使用jvm进行编译(翻译)这个文件,得到一个只有二进制的以 .class 结尾的字节码文件(计算机可以识别)

最后将编译好的字节码文件交给计算机执行就可得到我们想要的结果了(前提是程序编写正确)。

aaa.java ——> jvm ——> 字节码文件 ——> 计算机执行 ——> 执行结果

到这里跨平台特性就讲完了,下面再来聊一聊Java中的编译和执行操作(使用部分)

在将编译和使用之前我们先讲一下jvm的安装。

jvm使JavaJDK的一部分,所以只要安装了JavaJDK那么就已经默认安装了JVM,无需再次安装。

jdk和jvm之间的关系是这样的:JDK > JRE > JVM

JDK的安装看这里。

说到Java中的编译和执行,我们就要提到Java中的两个重要命令了

javac.exe —— 编译工具

使用:javac .java文件

编译后会在 .java文件目录下生成一个对应名字的 .class文件,这就是编译好的文件。

java.exe —— 执行工具

使用:java 对应的文件名(不加后缀)

执行后便会显示出执行结果。

提示:以上的所有操作都在操作系统命令行终端中运行。

看到这里你因该已经十分了解Java的跨平台特性实现原理了,这次主要是理论分享,接下来我们就开始实际操作

第一个Java程序


好了,今天的分享到这里就结束了,希望此刻的你会对Java有更深入的了解。 如果有什么问题的话可以在下方留言哦(留言我可能不容易看到,也可以私信给我)。

欢迎关注我的个人博客!


  • 发表时间:2020-09-17
  • 版权声明:自由转载-非商用-非衍生-保留署名
  • 评论

    姜家伟-jiawei15214742755@163.com
    博主
    由于后台没设置评论提醒,所以可能看到会比较慢,如果有什么问题也可以私信给我!
    二狗-2818372566
    牛蛙姜哥
    二狗-2818372566
    牛蛙姜哥
    留言