国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java到底是編譯型語言還是解釋型語言?

KavenFan / 1637人閱讀

摘要:編譯型語言把做好的源程序全部編譯成二進(jìn)制代碼的可運(yùn)行程序。所以可是說即是編譯型的,也是解釋型,但是假如非要?dú)w類的話,從概念上的定義,恐怕應(yīng)該歸到解釋型的語言中。編譯型的語言包括解釋型的語言包括

轉(zhuǎn)載自網(wǎng)絡(luò)

Java這個語言很神奇:

你可以說它是編譯型的。因?yàn)樗械腏ava代碼都是要編譯的,.java不經(jīng)過編譯就什么用都沒有。

你可以說它是解釋型的。因?yàn)閖ava代碼編譯后不能直接運(yùn)行,它是解釋運(yùn)行在JVM上的,所以它是解釋運(yùn)行的,那也就算是解釋的了。

但是,現(xiàn)在的JVM為了效率,都有一些JIT優(yōu)化。它又會把.class的二進(jìn)制代碼編譯為本地的代碼直接運(yùn)行,所以,又是編譯的。

像C、C++ 他們經(jīng)過一次編譯之后直接可以編譯成操作系統(tǒng)了解的類型,可以直接執(zhí)行的 所以他們是編譯型的語言。沒有經(jīng)過第二次的處理 而Java不一樣他首先由編譯器編譯成.class類型的文件,這個是java自己類型的文件 然后在通過虛擬機(jī)(JVM)從.class文件中讀一行解釋執(zhí)行一行,所以他是解釋型的語言,而由于java對于多種不同的操作系統(tǒng)有不同的JVM所以 Java實(shí)現(xiàn)了真正意義上的跨平臺!

請觀看下面兩張圖 了解一下Java的虛擬機(jī)機(jī)制:

Java的編譯-->解釋-->執(zhí)行過程

Java的虛擬機(jī)

今天聽到同事在討論java是哪種類型的語言(編譯型、解釋型),以前稍微有些接觸,但是概念比較模糊,為了不至于讓別人的思想左右自己,所以查了些資料,找到了很多熱心網(wǎng)友給出的答案,終于有些明白。這里先給出編譯型語言和解釋型語言的定義和區(qū)別。

編譯型語言:把做好的源程序全部編譯成二進(jìn)制代碼的可運(yùn)行程序。然后,可直接運(yùn)行這個程序。

解釋型語言:把做好的源程序翻譯一句,然后執(zhí)行一句,直至結(jié)束!

編譯型語言,執(zhí)行速度快、效率高;依靠編譯器、跨平臺性差些。

解釋型語言,執(zhí)行速度慢、效率低;依靠解釋器、跨平臺性好。

個人認(rèn)為,java是解釋型的語言,因?yàn)殡m然java也需要編譯,編譯成.class文件,但是并不是機(jī)器可以識別的語言,而是字節(jié)碼,最終還是需要 jvm的解釋,才能在各個平臺執(zhí)行,這同時也是java跨平臺的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要?dú)w類的話,從概念上的定義,恐怕java應(yīng)該歸到解釋型的語言中。

編譯型的語言包括:C、C++、Delphi、Pascal、Fortran

解釋型的語言包括:Java、Basic、javascript

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/73197.html

相關(guān)文章

  • JAVA到底編譯語言解釋語言?

    摘要:最后給出編譯型語言和解釋型語言的定義。定義編譯型語言把做好的源程序全部編譯成二進(jìn)制代碼的可運(yùn)行程序。解釋型語言把做好的源程序翻譯一句,然后執(zhí)行一句,直至結(jié)束特點(diǎn)編譯型語言,執(zhí)行速度快效率高依靠編譯器跨平臺性差。 有人說Java是編譯型的。因?yàn)樗械腏ava代碼都是要編譯的,.java不經(jīng)過編譯就無法執(zhí)行。 也有人說Java是解釋型的。因?yàn)閖ava代碼編譯后不能直接運(yùn)行,它是解釋運(yùn)行在J...

    beanlam 評論0 收藏0
  • JavaScript到底解釋語言編譯語言?

    摘要:編譯型語言解釋型語言主要問題是沒有團(tuán)體或者組織規(guī)定這些例如編譯型語言和解釋型語言的定義以及如何劃分。下面是處理聲明語句的過程一旦引擎進(jìn)入一個執(zhí)行具體代碼的執(zhí)行上下文函數(shù),它就對代碼進(jìn)行詞法分析或者分詞。這是解釋型語言需要的。 幾天前一個剛接觸 JavaScript 的朋友問我 JavaScript 是編譯型語言還是解釋型語言。從一個初學(xué)者那里聽到這樣的問題讓我有些驚訝,因?yàn)樗谐鯇W(xué)者都...

    gghyoo 評論0 收藏0
  • Python的發(fā)展歷程

    摘要:可以脫離語言環(huán)境獨(dú)立運(yùn)行就像一本英文書,我找一個翻譯,給他點(diǎn)時間,把英文書翻譯成中文的,這就是編譯型語言解釋型語言有良好的平臺兼容性,在任何環(huán)境中都可以運(yùn)行,前提是安裝了解釋器虛擬機(jī)。就像還是一本英文書,我看一句讓他給我解釋一句。 寫在前面 隨著大數(shù)據(jù)、人工智能這類詞匯撲向我們,python這個早在1989就已經(jīng)出現(xiàn)的語言終于高調(diào)回歸,為了更好的學(xué)習(xí)python 我們先來了解下它的前世...

    lovXin 評論0 收藏0
  • 基礎(chǔ)沖刺

    摘要:事實(shí)上,確實(shí)存在多種解釋器。在命令行下運(yùn)行就是啟動解釋器。最常用的,自帶的就是這個是基于之上的一個交互式解釋器,也就是說,只是在交互方式上有所增強(qiáng),但是執(zhí)行代碼的功能和是完全一樣的。但是的解釋器很多,但使用最廣泛的還是。 以下資料大多參考的此篇博客:http://www.cnblogs.com/alex37... 基礎(chǔ)沖刺 編譯型語言:C、C++ 運(yùn)行之前都需要一次編譯,編譯成可以...

    sunny5541 評論0 收藏0
  • 做一個好前端必須要知道的事——JS語言

    摘要:準(zhǔn)確的理解,是編譯型語言,源代碼整個編譯成字節(jié)碼,字節(jié)碼,是解釋型語言。是一個非常靈活的語言,支持命令式和函數(shù)式編程。編譯型語言通常會用做配置文件,因?yàn)槲覀兺ǔ2粫木幾g后的字節(jié)碼。 編程語言按各種方法可以分為各種類型,現(xiàn)在讓我們來看看JS屬于什么類型語言 解釋型語言 按編譯執(zhí)行過程,可以分為編譯型語言和解釋型語言。比如 c 語言,必須先經(jīng)過編譯生成目標(biāo)文件,然后鏈接各個目標(biāo)文件和庫...

    Near_Li 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<