Java學習 1.1——Java爲何可以跨平臺?

    首先介紹一下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可以跨平臺的緣由。spa


    順便提一嘴:跨平臺會形成什麼呢?Java經過JVM翻譯,C/C++沒有這樣的過程,因此能夠確定的一點是Java運行速度不如C/C++的速度。可是隨着JVM虛擬機的技術和系統硬件的發展,之後說不定Java的速度就能趕超C/C++了。操作系統

相關文章
相關標籤/搜索