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

java解釋性語言

發布時間:2022-10-03 21:13:43

1. 為什麼說java是一種解釋性語言

java是編譯型的語言,不是解釋型的。
與編譯型程序不同,每次運行解釋型程序時都要由解釋器程序實時地將源代碼轉換成二進制形式,而編譯型程序由編譯器一次性將源代碼轉換成可執行代碼,隨後從其二進制形式運行。解釋型語言(以及用它們編寫的程序)往往要比編譯型語言及偽代碼語言/程序慢,並且通常只有有限的底層操作系統功能訪問許可權或直接訪問硬體的許可權。但從另一角度來說,它們無需編譯器(可能非常昂貴),並且經常包含在操作系統中,通常比編譯型語言更容易編程

2. java屬於哪種語言

JAVA語言,就是屬於混合型語言,這是屬於解釋型語言和編譯型語言之間的一種語言。Java語言是一個支持網路計算的面向對象程序設計語言。

java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

3. Java是解釋型還是編譯型

它既不屬於傳統的編譯型語言也不屬於解釋型語言。它是先編譯成.CLASS位元組碼文件,然後再利用虛擬機解釋執行的.可以說先編譯後解釋吧。
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程[1] 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點[2] 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等[3] 。
20世紀90年代,硬體領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、行動電話等)的智能化程度。Sun公司為了搶占市場先機,在1991年成立了一個稱為Green的項目小組,帕特里克、詹姆斯·高斯林、麥克·舍林丹和其他幾個工程師一起組成的工作小組在加利福尼亞州門洛帕克市沙丘路的一個小工作室裡面研究開發新技術,專攻計算機在家電產品上的嵌入式應用。
由於C++所具有的優勢,該項目組的研究人員首先考慮採用C++來編寫程序。但對於硬體資源極其匱乏的單片式系統來說,C++程序過於復雜和龐大。另外由於消費電子產品所採用的嵌入式處理器晶元的種類繁雜,如何讓編寫的程序跨平台運行也是個難題。為了解決困難,他們首先著眼於語言的開發,假設了一種結構簡單、符合嵌入式應用需要的硬體平台體系結構並為其制定了相應的規范,其中就定義了這種硬體平台的二進制機器碼指令系統(即後來成為「位元組碼」的指令系統),以待語言開發成功後,能有半導體晶元生產商開發和生產這種硬體平台。對於新語言的設計,Sun公司研發人員並沒有開發一種全新的語言,而是根據嵌入式軟體的要求,對C++進行了改造,去除了留在C++的一些不太實用及影響安全的成分,並結合嵌入式系統的實時性要求,開發了一種稱為Oak的面向對象語言。

4. java是什麼語言

JAVA語言,就是屬於混合型語言,這是屬於解釋型語言和編譯型語言之間的一種語言。學習一門高級程序語言,很多人都推薦JAVA。JAVA能讓你學習到一門高級程序語言的方方面面,但又不會造成學習曲線過於陡峭

Java語言是一個支持網路計算的面向對象程序設計語言。Java語言吸收了Smalltalk語言和C++語言的優點,並增加了其它特性,如支持並發程序設計、網路通信、和多媒體數據控制等。主要特性如下:
1) Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,並提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
2) Java語言是一個面向對象的。Java語言提供類、介面和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++ 語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
3) Java語言是分布式的。Java語言支持Internet應用的開發,在基本的Java應用編程介面中有一個網路應用編程介面(java.net),它提供了用於網路應用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
4) Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
5) Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
6) Java語言是體系結構中立的。Java程序(後綴為java的文件)在Java平台上被編譯為體系結構中立的位元組碼格式(後綴為class的文件), 然後可以在實現這個Java平台的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。
7) Java語言是可移植的。這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
8) Java語言是解釋型的。如前所述,Java程序在Java平台上被編譯為位元組碼格式, 然後可以在實現這個Java平台的任何系統中運行。在運行時,Java平台中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
9) Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近於C++。
10) Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable) 的構造子將一個實現了Runnable介面的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。
11) Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程序需要的類能動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
Java語言的優良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統的維護費用。Java對對象技術的全面支持和Java平台內嵌的API能縮短應用系統的開發時間並降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平台之間傳遞信息的低成本方式。特別是Java企業應用編程介面(Java Enterprise APIs)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。
1) JDBC(Java Database Connectivity)提供連接各種關系資料庫的統一介面。
2) EJB(Enterprise JavaBeans)使得開發者方便地創建、部署和管理跨平台的基於組件的企業應用。
3) Java RMI(Java Remote Method Invocation)用來開發分布式Java應用程序。一個Java對象的方法能被遠程Java虛擬機調用。這樣,遠程方法激活可以發生在對等的兩端,也可以發生在客戶端和伺服器之間,只要雙方的應用程序都是用Java寫的。
4) Java IDL(Java Interface Definition Language) 提供與CORBA(Common Object Request Broker Architecture)的無逢的互操作性。這使得Java能集成異構的商務信息資源。
5) JNDI(Java Naming and Directory Interface)提供從Java平台到的統一的無逢的連接。這個介面屏蔽了企業網路所使用的各種命名和目錄服務。
6) JMAPI(Java Management API)為異構網路上系統、網路和服務管理的開發提供一整套豐富的對象和方法。
7) JMS(Java Message Service)提供企業消息服務,如可靠的消息隊列、發布和訂閱通信、以及有關推拉(Push/Pull)技術的各個方面。
8) JTS(Java transaction Service)提供存取事務處理資源的開放標准,這些事務處理資源包括事務處理應用程序、事務處理管理及監控。
在Java技術中,值得關注的還有JavaBeans,它是一個開放的標準的組件體系結構,它獨立於平台,但使用Java語言。一個JavaBean是一個滿足JavaBeans規范的Java類,通常定義了一個現實世界的事物或概念。一個JavaBean的主要特徵包括屬性、方法和事件。通常,在一個支持JavaBeans規范的開發環境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可視地操作JavaBean,也可以使用JavaBean構造出新的JavaBean。JavaBean的優勢還在於Java帶來的可移植性。現在,EJB (Enterprise JavaBeans) 將JavaBean概念擴展到Java服務端組件體系結構,這個模型支持多層的分布式對象應用。除了JavaBeans,典型的組件體系結構還有DCOM和CORBA,關於這些組件體系結構的深入討論超出了本書的范圍。

5. Java語言主要特點有哪些

Java的語言特性有以下幾點,如果對編程感興趣可以來我這看看。
一.簡單性:
Java是純面向對象語言,語法簡單明了,易於掌握。
Java使用介面取代了多重繼承,並且取消了指針,因為多重繼承和指針會使程序變得復雜。
Java還會自動地收集內存垃圾,使得內存管理變得更為簡單。
Java還提供了豐富的類庫、API文檔以及第三方開發包,還有大量Java的開源項目。
二.面向對象性:
面向對象性事Java語言的基礎。
java語言提倡「萬物皆對象」,語法中不能在類外面定義單獨的數據和函數。
Java語言最外部的數據類型是對象,所有的元素都要通過類和對象來訪問。
三.分布性:
Java的分布性包括:1.操作分布。2.數據分布
⑴操作分布:即在多個不同的主機上不知相關操作。
⑵數據分布:將數據分別存放在不同的主機上,這些主機是網路中的不同成員。
四.可移植性:
Java程序具有與體系結構無關的特性。
Java的類庫也提供了針對不同平台的介面,所有這些類庫也可以被移植。
五.安全性
Java語言刪除了類C語言的指針和內存釋放等語法,有效地避免了用戶對內存的非法操作
Java程序代碼要經過代碼程序校驗、指針校驗等很多測試步驟才能夠運行。所以未經允許的Java程序不能出現損害系統平台的行為。
Java可以編寫出防病毒和防修改系統。
六.健壯性
Java會檢查程序在編碼和運行時的錯誤,並消除錯誤。
七.多線程性。
Java應用程序可以在同一時間並行執行多項任務。而且相應的同步機制可以保證不同線程能夠正確地共享數據。
八.高性能性
Java編譯後的位元組碼是在解釋器中運行的,所以它的速度較多數互動式運用程序提高了很多。
九.動態性
Java可以動態調整庫中方法和增加變數,並且客戶端不需要任何更改。在Java中進行動態調整是非常簡單和直接。

希望對您有所幫助!~

6. Java 是編譯型語言還是解釋型語言

高級計算機語言主要有兩種類型:編譯和解釋。

這是一個跨平台的java,並可在任何地方運行:跨平台的java是基於JVM。Java虛擬機是由軟體或硬體模擬的計算機程序,java,計算機所有的.class文件是運行在JVM,即JVM *。只有Java類文件,以適應不同的操作系統,讓操作系統的安裝按照不同只要JVM的類型,然後程序無論哪個操作系統的JVM可以糾正窗口/其他...... JVM的Unix / JVM的實現因此,如果沒有JVM,就不能跨平台。

7. java是什麼語言

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

Java是一個強類型語言,它允許擴展編譯時檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風格的隱式聲明。
Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
Java的特點:
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點;下面我們來具體介紹一下:
1、簡單性
Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。
2、面向對象
Java語言提供類、介面和繼承等面向對象的特性,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
3、分布性
Java設計成支持在網路上應用,它是分布式語言。Java既支持各種層次的網路連接,又以Socket類支持可靠的流(stream)網路連接,所以用戶可以產生分布式的客戶機和伺服器。
網路變成軟體應用的分布運載工具。Java程序只要編寫一次,就可到處運行。
4、編譯和解釋性
Java編譯程序生成位元組碼(byte-code),而不是通常的機器碼。Java位元組碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平台。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。
在一個解釋性的環境中,程序開發的標准「鏈接」階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進環境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗,它將導致快速程序開發。這是一個與傳統的、耗時的「編譯、鏈接和測試」形成鮮明對比的精巧的開發過程。
5、穩健性
Java原來是用作編寫消費類家用電子產品軟體的語言,所以它是被設計成寫高可靠和穩健軟體的。Java消除了某些編程錯誤,使得用它寫可靠軟體相當容易。
Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
6、安全性
Java的存儲分配模型是它防禦惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實際存儲安排。編譯的Java代碼中的存儲引用在運行時由Java解釋程序決定實際存儲地址。
Java運行系統使用位元組碼驗證過程來保證裝載到網路上的代碼不違背任何Java語言限制。這個安全機制部分包括類如何從網上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預防惡意的小應用程序用它自己的版本來代替標准Java類。
7、可移植性
Java使得語言聲明不依賴於實現的方面。例如,Java顯式說明每個基本數據類型的大小和它的運算行為(這些數據類型由Java語法描述)。
Java環境本身對新的硬體平台和操作系統是可移植的。Java編譯程序也用Java編寫,而Java運行系統用ANSIC語言編寫。
8、高性能
Java是一種先編譯後解釋的語言,所以它不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設計者製作了「及時」編譯程序,它能在運行時把Java位元組碼翻譯成特定CPU(中央處理器)的機器代碼,也就是實現全編譯了。
Java位元組碼格式設計時考慮到這些「及時」編譯程序的需要,所以生成機器代碼的過程相當簡單,它能產生相當好的代碼。
9、多線程
在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:
1)、使用型構為Thread(Runnable)的構造子類將一個實現了Runnable介面的對象包裝成一個線程,
2)、從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。
10、動態性
Java語言的設計目標之一是適應於動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
11、平台獨立性
Java程序(後綴為java的文件)在Java平台上被編譯為體系結構中立的位元組碼格式(後綴為class的文件),然後可以在實現這個Java平台的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。

8. java是編譯性語言還是解釋性語言

一、你可以說它是編譯型的。因為所有的Java代碼都是要編譯的,.java不經過編譯就什麼用都沒有。
二、你可以說它是解釋型的。因為java代碼編譯後不能直接運行,它是解釋運行在JVM上的,所以它是解釋運行的,那也就算是解釋了。
定義:
編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然後,可直接運行這個程序。
解釋型語言:把做好的源程序翻譯一句,然後執行一句,直至結束!
區別:
編譯型語言,執行速度快、效率高;依靠編譯器、跨平台性差些。
解釋型語言,執行速度慢、效率低;依靠解釋器、跨平台性好。
個人認為,java是解釋型的語言,因為雖然java也需要編譯,編譯成.class文件,但是並不是機器可以識別的語言,而是位元組碼,最終還是需要 jvm的解釋,才能在各個平台執行,這同時也是java跨平台的原因。所以可是說java即是編譯型的,也是解釋型,但是假如非要歸類的話,從概念上的定義,恐怕java應該歸到解釋型的語言中。

9. Java是解釋型還是編譯型

有人說Java是編譯型的。因為所有的Java代碼都是要編譯的,.java不經過編譯就無法執行。
也有人說Java是解釋型的。因為java代碼編譯後不能直接運行,它是解釋運行在JVM上的,所以它是解釋型的。對於C和C++,它們經過一次編譯之後,可以由操作系統直接執行,所以它們是編譯型語言。而Java不一樣,它首先由編譯器編譯成.class(位元組碼)文件,然後在通過JVM從.class文件中讀一行解釋執行一行,所以它是解釋型的語言。也正是由於java對於多種不同的操作系統有不同的JVM,所以實現了真正意義上的跨平台。(1)Java語言的編譯-->解釋-->運行過程
(2)JVM到這里,大家應該也都明白了。最後給出編譯型語言和解釋型語言的定義。
定義:編譯型語言:把做好的源程序全部編譯成二進制代碼的可運行程序。然後,可直接運行這個程序。
解釋型語言:把做好的源程序翻譯一句,然後執行一句,直至結束!特點:編譯型語言,執行速度快、效率高;依靠編譯器、跨平台性差。
解釋型語言,執行速度慢、效率低;依靠解釋器、跨平台性好。

10. java是解釋性編程語言嗎

他是解釋型的,
因為以往的語言,最終都是編譯成exe可執行文件,
但是java編譯出來的是class,和jar。
需要運行java的時候,就調用jre(java運行時環境),動態把中間class代碼,翻譯成平台可理解的代碼。

閱讀全文

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

熱點內容
如何給手機的卡包加密 瀏覽:441
安卓微信如何更換鈴聲 瀏覽:599
程序員談判場在哪裡 瀏覽:413
山東有線伺服器中斷雲主機 瀏覽:472
java截取文件名 瀏覽:463
jquery教程pdf 瀏覽:164
三略pdf 瀏覽:584
spiflash單片機 瀏覽:11
阿里雲的域名怎麼解析到國外伺服器 瀏覽:299
app客戶端開發用什麼伺服器 瀏覽:293
台灣人能備案雲伺服器嗎雲空間 瀏覽:468
程序員小哥哥都喜歡動漫 瀏覽:374
如何用免費亞馬遜雲搭建伺服器 瀏覽:665
php評論功能實現代碼 瀏覽:526
犀牛中移動物件命令 瀏覽:788
程序員上班期間可以戴耳機嗎 瀏覽:257
伺服器啟動卡怎麼使用 瀏覽:796
逛了一天累趴了來一歌解壓句子 瀏覽:347
谷歌app在哪裡掃碼 瀏覽:991
華為手環加密門禁卡怎麼設置 瀏覽:734