Java学习 1.1——(JVM介绍)Java为什么能够跨平…

2019-12-18 16:02:50来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Java学习 1.1——(JVM介绍)Java为什么能够跨平台?

    首先介绍一下Java的各个层级,先放一张图:

    硬件,操作系统和操作系统接口:这三级不说大家都知道,操作系统有很多种,比如Windows,Linux。Windows又分为win7,win10,win xp等等;Linux有Ubuntu,CentOS;操作系统接口就是系统为开发者预留的,方便调用从而控制操作系统的硬件,它不需要让程序员知道是怎么实现的,只需要知道参数即可。但是不同的系统肯定有不同的接口,甚至同一系列的操作系统之间,接口也有所不同,就比如win7与win10之间,操作系统接口肯定有差异。记住这一点,我们继续往下看:

 

    我们知道各个系统之间的接口不同,如果想在不同的操作系统上实现同样的功能,势必要做一些改变才行,甚至两个操作系统差别很大,要在不同平台实现同样的功能就代表要做两套程序出来。但是java程序为什么能够不在乎这样的差别,做一个程序就可以面向所有操作系统呢?这就是JVM的作用了。

    

    JVM即Java虚拟机,它的主要作用就是相当于一个翻译官,JVM来向下关联所有操作系统,他能操作所有操作系统,向上提供统一接口,也就是JavaAPI,程序员只要面向JVM编程,将想要让操作系统做的告诉JVM,它就会去跟操作系统转达,至于到底怎么转达的,这个完全不用去考虑。这样一来,只要面向JVM编程,就可以做到一个程序在所有平台上都能运行。Java语言和平台无关,这就是Java能够跨平台的原因。


    顺便提一嘴:跨平台会造成什么呢?Java通过JVM翻译,C/C++没有这样的过程,所以可以肯定的一点是Java运行速度不如C/C++的速度。但是随着JVM虚拟机的技术和系统硬件的发展,以后说不定Java的速度就能赶超C/C++了。


原文链接:https://www.cnblogs.com/hao-frido/p/12057742.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:多线程,线程创建的有两种方式

下一篇:继承