1. gzyueqian
      13352868059

      Java培訓:Java平臺為什么以及如何獨立?

      更新時間: 2022-11-22 14:43:56來源: 粵嵌教育瀏覽量:7385

        Java是一種框架語言。這意味著,一旦編寫了代碼,就可以在任何地方、任何具有必要環(huán)境的平臺上運行它。代碼通過Java虛擬機(JVM)執(zhí)行。要運行代碼,JVM必須存在。對于每個平臺,都存在一個單獨的JVM。Java是一種獨立于平臺的語言。平臺獨立性并不意味著Java代碼可以在任何地方執(zhí)行;相反,它指的是在任何環(huán)境中執(zhí)行Java代碼的能力。想了解有關(guān)java更多詳細信息,建議參加Java培訓,通過系統(tǒng)全面的學習,可以快速提升自己。

        Java是最流行的編程語言之一,提供獨特特性的能力是巨大響應(yīng)的原因。盡管Java的語法與C++相似,但它提供了更多的功能。兩者都是面向?qū)ο蟮木幊陶Z言。

        一個程序如何在JAVA中執(zhí)行?

        javac執(zhí)行任何編寫的Java代碼。

        l JAVA編譯器產(chǎn)生一個. class文件或字節(jié)碼,而不是機器本機代碼(與C編譯器不同)。

        l 產(chǎn)生的字節(jié)碼不是機器可執(zhí)行的,需要一個解釋器在計算機上運行。JVM充當這個解釋器,因此,它執(zhí)行字節(jié)碼。

        l 然后,軟件最終執(zhí)行以獲得預期的結(jié)果。

        使用C或C++時,編譯器創(chuàng)建依賴于操作系統(tǒng)的.exe文件(這些語言不是獨立于平臺的)。這當我們嘗試在另一個操作系統(tǒng)上運行這個.exe文件時,它將無法運行,因為它依賴于該操作系統(tǒng)并且與之不兼容。在java培訓中,有系統(tǒng)全面的理論知識和企業(yè)級實戰(zhàn)項目,可以讓你真正掌握java知識和技能,更好地進行項目開發(fā)。

        既然我們已經(jīng)討論了它的高級程序執(zhí)行,讓它獨立于平臺。與其他編程語言不同,javac編譯器生成的字節(jié)碼可以在各種操作系統(tǒng)上運行。事實上,Java生成的字節(jié)碼只需要JVM。操作系統(tǒng)對它沒有影響。只要存在javac編譯器,你就可以在任何平臺上編寫和執(zhí)行代碼。

        Java代碼是如何執(zhí)行的?

        在Java中,編譯器將程序轉(zhuǎn)換成字節(jié)碼,字節(jié)碼不是可執(zhí)行代碼。現(xiàn)在,任何其他平臺或操作系統(tǒng)都可以運行這個字節(jié)碼。當我們執(zhí)行它的程序或文件時,我們獲得一個. class文件,這是一個不可執(zhí)行的文件。我們需要一個虛擬機來執(zhí)行一個. class文件。JVM無疑是平臺無關(guān)的。類似于它如何根據(jù)周圍環(huán)境而變化。例如,MAC和Linux與Windows有不同的JVM。它支持可移植性,因為它的代碼的可移植字節(jié)碼使它與平臺無關(guān)。

        

        平臺獨立性是什么意思?

        平臺是一種軟件或硬件,程序在其上有規(guī)律地運行。這種語言的平臺Java運行時環(huán)境是可用的。平臺獨立性是指程序獨立于系統(tǒng)的操作系統(tǒng)。它采用“一次寫入,隨處運行(WORA)”的方法。如果你正在考慮如何快速學習java,那么參加java培訓掌握更全面的知識和技能將是一個很好的開始。

        編譯代碼

        每次編寫代碼時,我們都遵循編程語言的語法,這通常是可讀的。包括一些單詞、變量名、短語、方法名等。所有這些都被視為人類可以閱讀和理解的文學。

        因此,計算機運行編譯器將源代碼轉(zhuǎn)換為機器可讀代碼,也稱為機器語言。編譯器以某種格式創(chuàng)建機器級代碼,以便CPU可以容易地理解它并執(zhí)行它而不出錯。

        除非兩臺計算機運行在同一個操作系統(tǒng)上,否則當一種機器語言因操作系統(tǒng)而異時,我們無法在另一臺機器上運行在一臺機器上開發(fā)的代碼。很多開發(fā)者和程序員認為這是不可接受的。然而,Java簡化了事情,并包含了對此的修復。

        JVM架構(gòu)

        JVM是Java編譯器的一個組件,它將.Java文件轉(zhuǎn)換為.class文件。當我們編譯Java代碼時,源代碼中的關(guān)鍵函數(shù)稱為JVM。

        類加載器

        它作為一個子系統(tǒng)連接到Java虛擬機,它加載.class文件,檢查異常,并且是少量運行時異常的原因。驗證后,它允許內(nèi)存中存在的變量和方法,賦予數(shù)組和變量默認值等。此外,它運行代碼中的任何方法或靜態(tài)變量。如果你也打算從事java行業(yè),可以參加java培訓來提升自己,有老師帶你快速入門,很快就能掌握java知識和技能。

        類加載器被精心設(shè)計來處理這個任務(wù)。因此,當加載類時,Java運行時不一定需要知道文件及其系統(tǒng)。

        Bootstrap類加載器、Application 類加載器和Extension加載器是JVM中的三種內(nèi)置類加載器。簡單介紹一下這些類是如何工作的:

        Bootstrap類加載器:使用類加載器加載Java庫。

        Extension類加載器:將代碼加載到擴展目錄或系統(tǒng)屬性指定的任何其他目錄中。

        Application 類加載器:類加載器加載任何Java.class.path找到的代碼,并最終將其映射到CLASSPATH環(huán)境變量。

        

        JVM中的內(nèi)存區(qū)域

        JVM類/方法區(qū)域中的內(nèi)存區(qū)域

        它存儲的數(shù)據(jù)包括方法名、類名和變量名。它是一個類中所有方法和變量的集中資源。它的功能就像一個存儲器,保存完成任務(wù)所需的數(shù)據(jù)。它由計算機的所有線程共享。該執(zhí)行將確定它是固定大小還是可擴展大小。對Java 感興趣的同學可以報名參加java培訓,有經(jīng)驗豐富的專業(yè)講師指導教學,可以讓你快速掌握這門技術(shù),節(jié)約時間,少走彎路。

        堆

        堆跟蹤其區(qū)域中保存的所有數(shù)據(jù)。它將數(shù)據(jù)保存在一個特定的量中,直到程序執(zhí)行后才知道。它在整個計劃中都得到了利用。它用于分配動態(tài)內(nèi)存。在堆區(qū)域中,開發(fā)了新項目。

        JVM語言堆棧

        當一個函數(shù)被執(zhí)行時,它將當前數(shù)據(jù)保存在塊中,也稱為框架或堆棧框架,它維護局部變量,并大量參與線程管理。

        PC注冊系統(tǒng)

        當前正在運行的指令的地址存儲在那里。當有多個線程正在執(zhí)行時,這是有益的。

        本地方法

        它跟蹤所使用的本地技術(shù)的所有細節(jié)。它可以訪問Java無法訪問的特定于系統(tǒng)的功能。這個項目的主要目標是通過內(nèi)存級通信來提高系統(tǒng)性能。

        執(zhí)行引擎

        執(zhí)行引擎將運行字節(jié)碼,并釋放分配給任何未引用對象的內(nèi)存。通過讀取流中的字節(jié)碼并逐行解釋,執(zhí)行引擎中的解釋器將執(zhí)行它。在java培訓中,有系統(tǒng)全面的理論知識和企業(yè)級實戰(zhàn)項目,可以讓你真正掌握java知識和技能,更好地進行項目開發(fā)。

        它還具有一個有趣的特性,稱為JIT編譯器(Just In Time Compiler),它為函數(shù)創(chuàng)建本機可執(zhí)行代碼,這樣如果有重復的函數(shù)調(diào)用,JVM就不必解釋它們兩次。結(jié)果,提高了執(zhí)行性能。

        本機方法接口

        Java通過這個接口與其他語言編寫的程序交互,比如C/C++。互動是雙向的;程序本身或JVM可以相互調(diào)用。由于源代碼的系統(tǒng)特定應(yīng)用,它具有有限的可移植性。它使得本機代碼(用C或C++編寫)與其他程序(用Java或其他語言編寫)的接口更加容易。此外,這也是Java平臺獨立性的來源。

        本機方法庫

        它跟蹤執(zhí)行引擎可能需要的任何本地語言庫,它們被歸類為為特定架構(gòu)創(chuàng)建的程序集合,這些文件是特定于平臺的。

        我們已經(jīng)知道了JVM的架構(gòu)。對于相同的字節(jié)碼輸入,這些JVM的結(jié)果將是相同的,即使這個JVM對于不同的操作系統(tǒng)是不同的。參加java培訓,培訓課程實時更新,緊跟市場和企業(yè)需求,讓你掌握最新技術(shù),走在市場前沿。

        

        平臺無關(guān)和平臺相關(guān)

        通過使用Java虛擬機,我們可以使字節(jié)碼在任何平臺上都是可理解的。因此,字節(jié)碼被認為是獨立于平臺的。另一方面,Java虛擬機被稱為平臺相關(guān)的,因為它因平臺而異。因為它不依賴于任何一個平臺,所以Java是平臺無關(guān)的。因此,Java是一種框架語言。

        編譯和解釋在平臺無關(guān)性中扮演什么角色?

        為了實現(xiàn)平臺獨立性,它結(jié)合了編譯和解釋。當一個程序被編譯成Java時,它被轉(zhuǎn)換成字節(jié)碼,通常被稱為. class文件,而不是機器碼。現(xiàn)在,這個字節(jié)碼通過它的特性將它與機器碼區(qū)分開來,因為它可以被移植到另一個平臺,但是Java不能。該字節(jié)碼可以在Java虛擬機上執(zhí)行。

        為什么Java不是完全平臺獨立的?

        Java中重要的一點是JVM依賴于操作系統(tǒng);因此,如果你使用的是Mac OS X,你的JVM將不同于使用Windows或其他操作系統(tǒng)的人。這一事實可以通過為你的特定計算機下載JVM來確認。這樣做時,你將看到與各種操作系統(tǒng)相對應(yīng)的JVM選擇;你應(yīng)該清楚地為你現(xiàn)在使用的操作系統(tǒng)選擇JVM。因此,我們可以得出這樣的結(jié)論:JVM是平臺相關(guān)的,這就是Java能夠變得“平臺無關(guān)”的原因。參加以實戰(zhàn)項目為主要教學方法的Java培訓,可以有效地縮短同企業(yè)具體用人需求之間的差距,在短時間內(nèi)掌握java所需的技能,更好地找到工作。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 一级婬片a级中文字幕 | 中文字幕在线免费观看一区 | 色多多一区二区三区在线观看 | 中文字幕人成乱码熟女免费 | 亚洲国语精品自产拍在线观看 | 日本aⅴ一本97视频 性做久久久久久 |