導航:首頁 > 編程語言 > java解釋型語言

java解釋型語言

發布時間:2025-02-20 17:07:50

java和C的區別

Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在裡面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。

另外一個不同是,Java跨平台,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。

再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。

再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。

總的來說,Java比較容易上手,學得快,但對於了解編程語言來說幫助不如C大。
當然Java和C之間的區別還有很多很多。

Ⅱ JAVA語言是解釋型還是編譯型語言

java的編譯器先將其編譯為class文件,也就是位元組碼;然後將位元組碼交由jvm(java虛擬機)解釋執行;
所以很回多地方都說「答java是一種半編譯、半解釋執行」的語言;
近來(其實也不是很"近")Oracle的(以前是Sun的)HotSpot VM採用了jit compile(just in time compilation)技術,將運行頻率很高的位元組碼直接編譯為機器指令執行以提高性能, 所以當位元組碼被jit編譯為機器碼的時候,要說它是編譯執行的也可以...
不過總體來講,java的編譯結果是被jvm「解釋執行」的,所以這么說也能說通,而其實這個「是編譯還是解釋」這個概念在這里已經有點模糊了,理解它的過程就行了,不必下一個「精確」的定義;
而我自己仍然贊成「java是編譯型語言」的說法,因為「編譯」其本質就是「把一個相對高級的語言轉換為另一個相對低級的語言」,而由java -> class文件的編譯已經滿足了這個特徵; 而後面你要說jvm是「解釋執行」的,那其實硬體對於機器碼又何嘗不是「解釋執行」呢?

閱讀全文

與java解釋型語言相關的資料

熱點內容
淘寶領券app哪個最好 瀏覽:830
化學家app有什麼實驗 瀏覽:625
抓包微信朋友圈網址 瀏覽:461
夢100王子攻略app 瀏覽:897
二級菜單js 瀏覽:145
高考有哪些好網站 瀏覽:346
哪個網站看動漫可以開倍速 瀏覽:319
mpf格式文件夾顯示瀏覽器圖標 瀏覽:359
圖紙上可以看哪些數據 瀏覽:546
手機轉發文件在哪裡 瀏覽:445
掃描版pdf文件如何刪減內容 瀏覽:95
秀米在哪裡加psd文件 瀏覽:760
津e通app在哪裡下載 瀏覽:95
釘釘app如何進入公司 瀏覽:974
蘋果6plus不是官網維修靠譜嗎 瀏覽:19
手機中的應用程序在哪個文件夾 瀏覽:27
聯想windows7如何重新連接網路 瀏覽:716
蘭州找租房哪個app最靠譜 瀏覽:641
PP助手怎麼樣可以下載蘋果軟體嘛 瀏覽:172
macxip文件 瀏覽:190

友情鏈接