㈠ java是什麼
要明白Java是什麼,首先不能從一個角度去看,接下來我會從Java的來源,Java是什麼,什麼人適合學Java等方面來為你解答「Java是什麼?」望採納。
「什麼是Java?」
Java,由Sun Microsystems公司於1995年5月推出,它是一種可以編寫跨平台應用軟體、完全面向對象的程序設計語言。
不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。
㈡ Java 是屬於計算機應用技術還是計算機系統結構
計算機應用技術。
㈢ 什麼是java
它是個面向網路的程序設計語言,用來讓程序員創建應用程序,這些應用程序可以通過網路下載,而且可在任何計算平台上安全地運行。如果再加上萬維網和公司內部網體系,你將會擁有一個標準的網路計算環境,Java作為一個分布式的,面向對象的程序設計語言,可以讓位於任何地方的任何計算機應用網路上的應用程序。
如果在商業角度看待Java,Java是個時髦話。同不少已經有20年歷史的其他程序設計語言相比,Java吸收了計算機科學領域的各種最新成果,另外一方面,由於Java還比較年輕,它缺少諸如Visual Basic 或C++那樣的豐富的編程工具的支持。
同C++一樣, Java是個面向對象的語言,這就意味著軟體可以以部件的形式編制,為了滿足某種任務,軟部件可以互相配合。運行Java,不必非得在網路環境中進行,Java同其他傳統的諸如COBOL或 Basic這樣的程序設計語言一樣,可以創建獨立運行的應用程序。只不過Java對互聯網上的應用開發更拿手。
Java適宜於互聯網的開發應用,其中一個原因是它使用了虛擬機,虛擬機是個用來解釋Java指令的軟體包,可以讓Java在任何機器上運行,比如有運行在Mac或 UNIX下的虛擬機軟體包。虛擬機並不是Java語言本身,它是個為特定機器編寫的解釋器軟體。Java的虛擬機策略就相當於世界語,這是個人造的國際語言,目的是使得不同語言之間的翻譯和溝通更加容易。
要稱作一個通用的計算機語言,Java是最適合不過的,這意味著它可以在所有的計算機上運行,(盡管需要為各種機器編寫Java虛擬機軟體),可以根據需要提供軟部件,並且具有內在的安全機制。
用Java編寫的操作系統,稱為JavaOS,是個基於語言的操作系統,它看起來似乎沒有機會來占據PC市場。但是它為Microsoft Windows和MacOS未來的發展提供了線索。它也許將來會應用到各種儀器設備中,包括電視遙控器和溫控器。
基於網路的內容供應商對Java技術很感興趣,因為它增加了交互性和動畫功能,這是吸引觀眾的關鍵因素。對於軟體商來說, Java有希望可以讓人們採用租用軟體的方式,諸如字處理器或者電子表格軟體,而無需購買軟體,這就改變了目前的商業模式。
Java也使得網路計算機成為現實,無須硬碟的,價值500美元的PC
將可以取代Wintel 結構的計算機。所有這一切都顯出Java的重要性,它的支持者把它視作對付微軟和蓋茨的最後的和最好的希望,這就是為什麼一些人對Java表現出狂熱的崇拜的原因。
㈣ java是什麼東西
Java簡介
Java 是 Sun 公司推出的一種編程語言。它是一種通過解釋方式來執行的語言,語法規則和 C++ 類似。
同時, Java 也是一種跨平台的程序設計語言。用 Java 語言編寫的程序叫做 「Applet」 (小應用程序),用編譯器將它編譯成類文件後,將它存在 WWW 頁面中,並在 HTML 檔上作好相應標記,用戶端只要裝上 Java 的客戶軟體就可以在網上直接運行 「Applet」 。 Java 非常適合於企業網路和 Internet 環境,現在已成為 Internet 中最受歡迎、最有影響的編程語言之一。 Java 有許多值得稱道的優點,如簡單、面向對象、分布式、解釋性、可靠、安全、結構中立性、可移植性、高性能、多線程、動態性等。 Java 擯棄了 C++ 中各種弊大於利的功能和許多很少用到的功能。 Java 可以運行與任何微處理器,用 Java 開發的程序可以在網路上傳輸,並運行於任何客戶機上。 JAVA的特點
Java是一種跨平台,適合於分布式計算環境的面向對象編程語言。具體來說,它具有如下特性:簡單性、面向對象、分布式、解釋型、可靠、安全、平台無關、可移植、高性能、多線程、動態性等。下面我們將重點介紹Java語言的面向對象、平台無關、分布式、多線程、可靠和安全等特性。
- 面向對象
面向對象其實是現實世界模型的自然延伸。現實世界中任何實體都可以看作是對象。對象之間通過消息相互作用。另外,現實世界中任何實體都可歸屬於某類事物,任何對象都是某一類事物的實例。如果說傳統的過程式編程語言是以過程為中心以演算法為驅動的話,面向對象的編程語言則是以對象為中心以消息為驅動。用公式表示,過程式編程語言為:程序=演算法+數據;面向對象編程語言為:程序=對象+消息。
所有面向對象編程語言都支持三個概念:封裝、多態性和繼承,Java也不例外。現實世界中的對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數據,行為表示對象的方法(其作用是處理數據或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數據和方法聯在一起形成一個整體。可以說,對象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變數,無主函數,在Java中絕大部分成員是對象,只有簡單的數字類型、字元類型和布爾類型除外。而對於這些類型,Java也提供了相應的對象類型以便與其他對象交互操作。
多態性就是多種表現形式,具體來說,可以用"一個對外介面,多個內在實現方法"表示。舉一個例子,計算機中的堆棧可以存儲各種格式的數據,包括整型,浮點或字元。不管存儲的是何種數據,堆棧的演算法實現是一樣的。針對不同的數據類型,編程人員不必手工選擇,只需使用統一介面名,系統可自動選擇。運算符重載(operator overload)一直被認為是一種優秀的多態機制體現,但由於考慮到它會使程序變得難以理解,所以Java最後還是把它取消了。
繼承是指一個對象直接使用另一對象的屬性和方法。事實上,我們遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的"父親",而這些子實體則是汽車的"孩子"。Java提供給用戶一系列類(class),Java的類有層次結構,子類可以繼承父類的屬性和方法。與另外一些面向對象編程語言不同,Java只支持單一繼承。
Java是平台無關的語言是指用Java寫的應用程序不用修改就可在不同的軟硬體平台上運行。平台無關有兩種:源代碼級和目標代碼級。C和C++具有一定程度的源代碼級平台無關,表明用C或C++寫的應用程序不用修改只需重新編譯就可以在不同平台上運行。
Java主要靠Java虛擬機(JVM)在目標碼級實現平台無關性。JVM是一種抽象機器,它附著在具體操作系統之上,本身具有一套虛機器指令,並有自己的棧、寄存器組等。但JVM通常是在軟體上而不是在硬體上實現。(目前,SUN系統公司已經設計實現了Java晶元,主要使用在網路計算機NC上。另外,Java晶元的出現也會使Java更容易嵌入到家用電器中。)JVM是Java平台無關的基礎,在JVM上,有一個Java解釋器用來解釋Java編譯器編譯後的程序。Java編程人員在編寫完軟體後,通過Java編譯器將Java源程序編譯為JVM的位元組代碼。任何一台機器只要配備了Java解釋器,就可以運行這個程序,而不管這種位元組碼是在何種平台上生成的(過程如圖1所示)。另外,Java採用的是基於IEEE標準的數據類型。通過JVM保證數據類型的一致性,也確保了Java的平台無關性。
Java的平台無關性具有深遠意義。首先,它使得編程人員所夢寐以求的事情(開發一次軟體在任意平台上運行)變成事實,這將大大加快和促進軟體產品的開發。其次Java的平台無關性正好迎合了"網路計算機"思想。如果大量常用的應用軟體(如字處理軟體等)都用Java重新編寫,並且放在某個Internet伺服器上,那麼具有NC的用戶將不需要佔用大量空間安裝軟體,他們只需要一個Java解釋器,每當需要使用某種應用軟體時,下載該軟體的位元組代碼即可,運行結果也可以發回伺服器。目前,已有數家公司開始使用這種新型的計算模式構築自己的企業信息系統。
- 分布式
Java支持WWW客戶機/伺服器計算模式,因此,它支持這兩種分布性。對於前者,Java提供了一個叫作URL的對象,利用這個對象,你可以打開並訪問具有相同URL地址上的對象,訪問方式與訪問本地文件系統相同。對於後者,Java的applet小程序可以從伺服器下載到客戶端,即部分計算在客戶端進行,提高系統執行效率。
Java提供了一整套網路類庫,開發人員可以利用類庫進行網路程序設計,方便得實現Java的分布式特性。
分布式包括數據分布和操作分布。數據分布是指數據可以分散在網路的不同主機上,操作分布是指把一個計算分散在不同主機上處理。
- 可靠性和安全性
Java最初設計目的是應用於電子類消費產品,因此要求較高的可靠性。Java雖然源於C++,但它消除了許多C++不可靠因素,可以防止許多編程錯誤。首先,Java是強類型的語言,要求顯式的方法聲明,這保證了編譯器可以發現方法調用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜絕了內存的非法訪問;第三,Java的自動單元收集防止了內存丟失等動態內存分配導致的問題;第四,Java解釋器運行時實施檢查,可以發現數組和字元串訪問的越界,最後,Java提供了異常處理機制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務便於恢復。
由於Java主要用於網路應用程序開發,因此對安全性有較高的要求。如果沒有安全保證,用戶從網路下載程序執行就非常危險。Java通過自己的安全機制防止了病毒程序的產生和下載程序對本地系統的威脅破壞。當Java位元組碼進入解釋器時,首先必須經過位元組碼校驗器的檢查,然後,Java解釋器將決定程序中類的內存布局,隨後,類裝載器負責把來自網路的類裝載到單獨的內存區域,避免應用程序之間相互干擾破壞。最後,客戶端用戶還可以限制從網路上裝載的類只能訪問某些文件系統。上述幾種機制結合起來,使得Java成為安全的編程語言。
- 多線程
線程是操作系統的一種新概念,它又被稱作輕量進程,是比傳統進程更小的可並發執行的單位。C和C++採用單線程體系結構,而Java卻提供了多線程支持。
Java在兩方面支持多線程。一方面,Java環境本身就是多線程的。若干個系統線程運行負責必要的無用單元回收,系統維護等系統級操作;另一方面,Java語言內置多線程式控制制,可以大大簡化多線程應用程序開發。Java提供了一個類Thread,由它負責啟動運行,終止線程,並可檢查線程狀態。Java的線程還包括一組同步原語。這些原語負責對線程實行並發控制。利用Java的多線程編程介面,開發人員可以方便得寫出支持多線程的應用程序,提高程序執行效率。必須注意地是,Java的多線程支持在一定程度上受運行時支持平台的限制。例如,如果操作系統本身不支持多線程,Java的多線程特性可能就表現不出來。
㈤ JAVA是什麼
是計算機的一種語言
Java起源於80年代的中末期,當時西方有一種很時髦的產品:Active TV,Java就是Sun公飼喂這種產品開發的一種語言,其目標是在小型嵌入式系統上運行。但是由於動態圖像壓縮標准MPEG卻始終未能出台,因而這個時期的Java也就中途夭折了。到了1990年,Sun公司副總裁James Gosling再次提出Java的設計,其目標是希望仿效C和C++那樣設計出一種更簡單、更有效、更容易使用的跨多種計算機平台(硬體、操作系統等),可移植的通用語言。到了90年代中期,互聯網迅速崛起,短短幾年得到了巨速的發展,成千上萬的計算機,其中有個人的、企業的、政府的,公司加入到了互聯網上,致使互聯網深入到了生活、社會、經濟、政治、軍事的每一個角落,因此急需開發一種跨平台軟體開發工具,這給Java得到了一個極好的發展機遇,1995年Sun公司首次推出Java語言。短短的幾年中Java得到了極大的發展,成立互聯網開發和應用發展的一個重要工具。
二、Java的某些特點
1.通用性:指的是跨平台、跨網路、跨語種和跨時間。
跨平台:指的是Java與計算機平台(硬體、操作系統)無關。
跨網路:指的是Java與網路平台無關,可以穿越多種常用的網路類型(平台)。它的結構確切地說是B/S模型(瀏覽器/伺服器模型,亦稱Web模型)。B/S模型是一種三層結構的模型:客戶端/應用伺服器(Web伺服器)/資料庫伺服器。
跨語種:指的是Java的應用軟體不存在語言本地化問題,它本身帶有語言機制。它主要是通過所謂「國際語言管理」(International Language Management)模塊實現的。
跨時間:技術更新和保護投資的方案、產品升級容易,只需編寫一個新的模塊,替換老模塊即可。
2.可移植性:Java的源代碼是可移植的,而且對現有的幾乎所有操作系統無須修改便能運行,還具有多線程同步、與平台無關的用戶介面、內置聯網功能、對象會列印功能、出錯處理、內存管理等功能。CPU可移植性和虛擬操作系統。
3.支持分布式環境:
1) 分布式對象支持:類似於微軟的OLE(對象的鏈接和嵌入??Object Linking and Embedding)。支持面向對象的「繼承」特性。
2) 分布式計算環境支持:通過不斷擴充的Java網路類庫支持分布式計算環境。Java提供一個URL(統一資源定位器)對象,用以打開並訪問網上對象。其方式幾乎與訪問文件系統幾乎完全相同。Java的客戶機/伺服器模式把運算從伺服器分散到客戶端。以提高系統執行效率,增加動態可擴充性。
㈥ java是做什麼的
在現實社會中有很多地方使用到了Java,從電子商務網站到Android
apps,從科學應用到金融產品,例如電子交易系統,從類似Minecraft的游戲再到Eclipse,Netbeans和IntelliJ的桌面應用,從開源的資源庫J2MEapps等等。下面帶你一起詳細了解Java的應用領域。
如果你想知道Java應用在哪裡,你離答案並不遠。打開你的安卓手機或者任何的App,它們完全是用有著谷歌AndroidAPI的Java編程語言編寫的,這個API和JDK非常相似。前幾年安卓剛開始起步而到今日已經很多Java程序員是安卓App的開發者。
Java在金融服務業有著很大應用。很多的全球性投資銀行例如GoldmanSachs(高盛投資公司),Citigroup(花旗集團),Barclays(巴克萊銀行),StandardCharted(英國渣打銀行)和一些其他銀行都用Java編寫前台和後台的電子交易系統,結算、信息確認系統,數據處理項目和以及其他的項目。
Java被運用於編寫服務端應用,但大多數沒有前端,都是從一個服務端(上一級)接收數據,處理數據後發向其他的處理系統(下一級)。JavaSwing由於能開發出圖形用戶界面的客戶端供交易者使用而備受歡迎,但是現在C#正在快速地取代Swing的市場,這讓Swing倍有壓力。
Java同樣也在電子商務和網站開發上有著廣泛的運用。你可以運用很多RESTfull架構,這些架構是用SpringMVC,Struts2.0和類似的框架開發出來的。甚至簡單的Servlet,JSP和Struts在各種政府項目也是備受歡迎,許多政府,醫療,保險,教育,國防和其他部門的網站都是建立在Java之上的。
很多有用的軟體和開發工具都是運用Java編寫和開發的,例如Ecilpse,InetelliJIdea和NetbansIDE.。我認為這些都是經常使用的用Java編寫的桌面應用程序。
就如上面所說,Swing曾經在圖形用戶界面的客戶端開發非常流行,它們大多數應用在金融服務領域以及投資銀行。雖然現在JavaFx正在逐漸地流行起來,但仍然無法替代Swing,而且C#已經在大部分金融領域中代替了Swing。
第三方交易系統,金融服務行業的一大部分,同樣也是使用Java編寫的。例如像Murex這種受歡迎的交易系統,運用於與許多的銀行前端鏈接,同樣也是用Java編寫的。
雖然IOS和Android的到來幾乎扼殺了J2ME的市場,但是仍然有很多的低端諾基亞和三星手機在使用著J2ME。曾經有段時間大部分的游戲,手機應用都是利用MIDP和CLDC,或者J2ME部分平台編寫的,以適用於Android系統。.J2ME依然在藍光、磁卡、機頂盒等產品中流行著。app之所以如此流行是因為對於所有的諾基亞手機,app仍然適用於J2ME。
Java在嵌入式領域也有很大的應用。你只需要130KB就能夠使用Java技術(在一塊小的晶元或者感測器上),這顯示了這個平台是多麼的可靠。Java當初是為了嵌入式設備而設計的。事實上,這也是Java當初的一項「立即編寫,隨處運行」主旨的一部分。
Hadoop和其他的大數據技術也在不同程度使用著Java,例如Apache的基於Java的Hbase,Accumulo(開源),以及ElasticSearch。但是Java並沒有佔領整個領域,還有其他的大數據技術例如MongoDB就是使用C++編寫的.如果Hadoopor和ElasticSearch逐漸發展,那麼Java就能有潛力在大數據技術領域上得到更大的發展空間。
Java平台已經大大提高了性能特點和JITS,並且Java也擁有像C++級別的傳輸性能。因此,Java也流行於編寫高並發系統。雖然Java的傳輸性能不比C++,但你可以不用考慮Java的安全性,可移植性和可維護性等問題(Java內部已經實現好了),而且Java有著更快的運行速度。安全性等問題會使一個沒有經驗的C++程序員編寫的應用程序變得更加緩慢和不可靠。
現在Java經常是科學應用的默認選擇,包括了自然語言處理。這主要的原因是因為Java比起C++或者其他語言有更加的安全,可移植,可維護,而且Java有著更好的高級並發工具。
其實不管是選擇哪個領域只要自己技術夠強高新就不是問題。
㈦ java後端 需要看計算機網路嗎
需要。
應用層->表示層->會話層->傳輸層->網路層->數據鏈路層->物理層
應用層:由用戶自己規定,規定各個應用之間消息傳遞的形式等,包括各機互訪協議,分布式資料庫協議等。比如常見的協議:HTTP協議(Hyper Text Transfer Protocol)。
表示層:規定傳輸格式。在滿足用戶需求的基礎上,盡可能節省傳輸費用而設置的,比如傳輸壓縮文件,jpeg或者加密文件等格式。
會話層:用於建立和拆除會話,發送的數據,但是有那麼多進程,具體哪個進程需要用到這個數據,則把他輸送到那個進程。
傳輸層:負責將來自會話層的消息傳遞給網路層。人為制定出單位,分成一個個的信息段,從中又衍生了報文,結合上面幾層,我們就可以有目標的發送正確數據給某台計算機了。傳輸層有兩個重要的協議:TCP和UDP。
網路層:IP選址及其路由選擇。常見的網路層協議有IP,ICMP以及ARP等協議。前兩層都是在於可以發數據,以及發的數據是否正確,然而如果連著兩台電腦還行,多台電腦而又只想讓其中一台可以通信,則需要路由。選擇性的發,那每台電腦就得有自己的身份,於是出現了IP協議等。
數據鏈路層:提供介質訪問和連接管理。
物理層:規定一些機電性能,也包括工作方式如雙工(電話)、單工(列印機)或半雙工(傳呼機),建立通信的啟動和終止等。
㈧ 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,關於這些組件體系結構的深入討論超出了本書的范圍。
㈨ java是什麼
java
概要
Java包含了一種計算機編程語言和一個平台。
Java編程語言是一種高級語言。由Sun微系統公司發布,並作為一種開放的標准進行提供。
Java平台包括了Java虛擬機和Java應用程序介面(API)。
Java將原程序編譯成位元組碼(bytecode),並通過Java虛擬機(JVM)解釋位元組碼的方式來執行。因為這種運行方式,只要針對不同的計算機平台准備相應的Java虛擬機,就可以很方便的實現Java語言的跨平台性。
因此,Java非常適合於企業網路和Internet環境,現在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java有許多值得稱道的優點,如簡單、面向對象、分布式、解釋性、可靠、安全、結構中立性、可移植性、高性能、多線程、動態性等。
Java的主要應用有如下幾點:
*利用瀏覽器中的Java虛擬機運行於客戶端的Applet。
*利用本地虛擬機運行的Java應用程序,通常利用Swing或SWT等來編寫跨平台的GUI界面系統。
*通過編寫Servlet/JSP來提供網路服務,運行於網路應用程序伺服器中。
*利用嵌入式Java虛擬機運行於手機等移動設備的Java應用程序,使用J2ME API。
Java的產生
Java來自於Sun公司的一個叫Green的項目,其原先的目的是為家用消費電子產品開發一個分布式代碼系統,這樣我們可以把E-mail發給電冰箱、電視機等家用電器,對它們進行控制,和它們進行信息交流。開始,准備採用C++,但C++太復雜,安全性差,最後基於C++開發一種新的語言Oak(Java的前身),Oak是一種用於網路的精巧而安全的語言,Sun公司曾依此投標一個互動式電視項目,但結果是被SGI打敗。可憐的Oak幾乎無家可歸,恰巧這時MarkArdreesen開發的Mosaic和Netscape啟發了Oak項目組成員,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執行官ScottMcNealy的支持,觸發了Java進軍Internet。
Java的取名也有一個趣聞,有一天,幾位Java成員組的會員正在討論給這個新的語言取什麼名字,當時他們正在咖啡館喝著Java(爪哇)咖啡,有一個人靈機一動說就叫Java怎樣,得到了其他人的贊賞,於是,Java這個名字就這樣傳開了。
Java平台根據API和使用領域,主要分為三種技術
*Java SE (舊稱J2SE) - Java Platform, Standard Edition
*Java EE (舊稱J2EE) - Java Platform, Enterprise Edition
*Java ME (舊稱J2ME) - Java Platform, Micro Edition
---以下信息望適當更新修改---
JAVA介紹
一、前言
『Java』從1995年的暑假開始在計算機業界就受到了高度注意,特別是在Internet和多 媒體(Multimedia)相關產品類方面。Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機(PC)的關系。那Java究竟有那些特色呢?
Java是一種軟體技術
是一種由美國SUN計算機公司(Sun Microsystems, Inc.)所研究而成的語言
是一種為 Internet發展的計算機語言
是一種使網頁(Web Page)產生生動活潑畫面的語言
是一種使網頁(Web Page)由靜態(Static)轉變為動態(Dynamic)的語言
是一種語言,用以產生「小應用程序(Applet(s))」
是一種簡化的C++語言 是一種安全的語言,具有阻絕計算機病毒傳輸的功能
是一種將安全性(Security)列為第一優先考慮的語言
是一種使用者不需花費很多時間學習的語言
是一種突破用戶端機器環境和CPU結構的語言
是一種「寫一次,即可在任何機器上執行(Write OnceRun Anywhere)」的語言是有史以來,第一套允 使用者將應用程序(Applications)通過Internet從遠端的伺服器(Remote Server)傳輸到本地端的機器 上(LocalMachine)並執行
是一種應用程序提供者不需要知道使用者的計算機硬體(如:Sun, Intel, 或MAC等)與軟體(如:SW- UNIX, MAC O/S, Windows, 或NT等)環境的語言(Kestenbaum, 1995)。
Java的版本
J2SE Java的標准版本 (Java2 Standard Edition) 定位在客戶端,主要用於桌面應用軟體的編程
J2ME (Java2 Micro Edition) 主要應用於嵌入式系統開發,如手機和PDA的編程;
J2EE 企業版本(Java2 Enterprise Edition)定義在伺服器端Java2的企業版,主要用於分布式的網路程序的開發,如電子商務網站和ERP系統。
下面將依序地介紹Java,首先是Java的發展歷史與Java語言介紹,其次依序是Java Applet和HotJava的簡單介紹。
二、Java FAQ
下面以問答的方式來說明Java的發展歷史與其背景(下列內容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,讀者若欲深 入了解,請自行參閱原文):
Java何時開始發展?(When)
最早大概可追溯至1991年四月份,Sun的綠色計劃(Green Project)開始著手於發展消費性電子產品(Consumer Electronics),所使用的語言是C、C++、及Oak (為Java語 言的前身),後因語言本身和市場的問題, 使得消費性電子產品的發展無法達到當初 預期的目標,再加上網路的興起, 綠色計劃也因此而改變發展的方向,這已是1994 年了。
為何稱之為Java?(Why) "Java"是美國SUN計算機公司Java發展小組歷經無數次的激烈討論之後才被選擇出。 生動(Liveliness)、動畫(Animation)、速度(Speed)、交互性(Interactivity)為當 初選擇名字時所欲表達出的特色。"Java"是在無數的建議中脫穎而出的,而"Java" 不是由幾個單字的首字所組成, 而是從許多程序設計師鍾愛的熱騰騰、香濃咖啡中 產生靈感的。
誰開發了Java?(Who) Java是美國SUN計算機公司Java發展小組開發的,早期的成員(綠色工程)是Patrick Naughton, James Gosling, & Mike Sheridan,而現在大家較為熟悉的成員是James Gosling。
在那裡開發了Java?(Where)
也就是問Java的出生地?答案是美國。
如何可以找到所需的Java信息?(How to)
在網路上,您可以連到Sun公司的Java WWW 網站,URL是http://java.sun.com/,或是 http://www.javasoft.com/。在那裡幾乎可以找到您所需要的所有Java信息,但是語 言多少是一個障礙, 至少對某些人而言;沒關系,目前國內已有很多個網站提供中文 Java信息。在清華和中科院的FTP站點上有不少有關資料。想像以後應會有更多的站點提供相關信息。
如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解釋器的瀏覽器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava瀏覽器,對個人計算機使用者而言,操作 系統需是Windows 95或是Windows NT。
Java是因為撰寫C++語言程序時的困難而研製開的,起先,只是一個消費性電子產品 大計劃中的一部份,C++語言是當初被考慮採用的,但從一開始的編譯問題一直到最 後的一連串問題迫使得放棄C++語言,而有Java語言的產生。Sun是要Java成為一個簡 單(Simple)、面向對象的(Object Oriented)、 分布式的(Distributed)、解釋的(Interpreted)、健壯的(Robust)、安全的(Secure)、 結構中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多線程的(Multithreaded)、動態的(Dynamic)的程序語言(摘譯自 TheJava Language: A White Paper, 1995)。
在Sun的Java語言白皮書中明白地說明上述Java語言的技巧。若以木工為比喻,一個面 向對象的木工,他(她)最主要的重點是即將要做的木椅子,其次才是所需要的工具; 反之;一個以非面向對象的木工,他(她)所關心的只是工具。最近的即插即用(Plug and Play)亦是面向對象設計的重點。 分布式的(Distributed):Java有一個很周全的程薪錄JAVA介紹 。
一、
『Java』從1995年的暑假開始在計算機業界就受到了高度注意,特別是在Internet和 多媒體(Multimedia)相關產品類方面。Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機TTP和FTP等TCP/IP通訊協定相配合。Java應用程序(Applications) 能在網路上開啟及連結使用物件,就如同透過URLs連結使用一個本地文件系統(Local File System)。 健壯的(Robust):由Java所編寫出的程序能在多種情況下執行而具有其穩定性。Java與 C/C++最大不同點是Java有一個指針模型(Pointer Model)來排除內存被覆蓋(Overwriting Memory)和毀損數據(Corrupting Data)的可能性。
安全的(Secure):Java是被設計用於網路及分布式的環境中,安全性自必是一個很 重要的考慮。Java擁有數個階層的互鎖(Interlocking)保護措施,能有效地防止病 毒的侵入和破壞行為的發生。
結構中立的(Architecture Neutral):一般而言,網路是由很多不同機型的機器所 組合而成的,CPU和作業系統體系結構均有所不同;因此,如何使一個應用程序可以 在每一種機器上執行,是一個難題。所幸,Java的編譯器產生一種結構中立的目標 文件格式(Object File Format);這使得編解碼得以在很多種處理器中執行。
可移植的(Portable):原始資料型式的大小是被指定的,例如"float"一直是表示一 個32位元IEEE 754浮點運算數字,因絕大多數的CPU都具有此共同特徵。程序庫屬於 系統的一部份,它定義了一些可移植的程序介面,Java本身具備有很好的可移植性。
解釋的(Interpreted):Java解釋器能直接地在任何機器上執行Java位元碼(Bytecodes), 因此在進行程序連結時,時間的節省,這對於縮短程序的開發過程,有極大的幫助。
高效能的(High Performance):Java位元碼迅速地能被轉換成機器碼(Machine Code), 從位元碼轉換到機器碼的效能幾乎與C與C++沒有分別。
多線程的(Multi threaded):Java語言具有多線程的功能,這對於交互回應能力及 即時執行行為是有幫助的。
動態的(Dynamic):Java比C或C++語言更具有動態性,更能適應時刻在變的環境, Java不會因程序庫的更新,而必須重新編譯程序。
此外,Hank Shiffman (Making Sense of Java)亦針一般對Java的錯誤看法及觀 念提出他的說明,特在此摘譯如下:
"Java是一種編寫Web Pages的一種語言,就如同HTML和VRML一樣" 事實上,Java並不像是HTML此一類的描述語言(Description Language),而是一種 編程語言(Programming Language)。描述語言標明內容和位置,而編程語言描述一 種產生結果的過程。
2. "Java語言容易學習和使用,不像C、C++和其它程序語言"
Java是一種編程語言。Java容易學嗎?Java或許是比C或C++容易學,但仍是一種編程語言,而不是一種描述語言。
3. "Java碼是可移植的,但C及C++不是"
Java原代碼(Source Code)是比C語言來得可移植一點,差別在於Java的目標碼。 Java碼在一種機器上進行編譯,而能在所有的機器上執行, 只要那部機器上有 Java解釋器。
4. "Java能被拓展而在機器上執行任何事情"
理論上,Java Applet (Java小應用程序)能做任何事情,如模擬3D VRML模型、播放電影、產生音頻....等。但事實上,一個小應用程序(Applet)僅能在那一頁上被執行,而無法在那一頁之外執行。同時,Java亦受限於程序庫的功能。
5. "Java是適合於建立大型的應用程序"
如果Java適合於大型程序,則Java就不適合應用於Web瀏覽器了。第一個商業 性的Java Applets (Applix's Java-Based Spreadsheet) 並不是全然使用Java, 它只使用Java作為用戶介面,而所有的處理工作, 是用CGI碼。
6. "Java是解釋執行的,Basic是解釋執行的,因此Java=Basic"
雖然Java的確是使用解釋器,但事實上,Java則與C或C++等完全編譯語言較為相近,但與Basic或APL等完全解譯語言較不相近。
7. "Java刪除了CGI命令稿(Scripts)和程序的需求"
Java Applets將會取代部份CGI的用途。在有些情況,Java Applets能夠取代一些伺服器端代碼(Server-Side Code),但大多數的情況,基於安全性理由或是效 能的考慮,Java仍無法全然取代CGI Scripts。
8. "Netscape's JavaScript是與Java有相關"
除了名稱之外,Java和JavaScript是有一點點相關。JavaScript是一種命令稿語 言,是可以在HTML頁中使用。Java碼並未出現在HTML中,而在HTML中通過一個鏈 結來鏈結編解碼組。Java和JavaScript之間的關系就如同C語言和C Shell一般。
十. Java 的未來發展
相信這個問題大家一定很關注! 我是Java工程師,從事Java研發技術已多年,而且很關注SUN公司對Java的發展和創新,自己也是全球Java研發中心的一員,在此像大家介紹一下Java的未來發展動向!
Java的跨平台性使其具有非常廣闊的發展空間,Java如今不斷在科研、教育、航空航天上取得進展,相信2010年後將是Java的世界! 當然需要大家,全球Java愛好者共同努力!
Java從J2SE1.4 到 J2SE1.5,到J2SE1.6 到 J2SE1.7都在不斷完善Java的各種功能,也在學習 .Net 的各種優勢,呵呵
軟體之間就是這樣,要想生存就的不斷吸收別人的長處! 代號野馬的 J2SE1.6在性能上將有飛躍,希望各位能鍾情於它。
相信.Net 於 Java競爭還會不斷進行下去,只要Microsoft不倒閉我們的Java就會有發展,即便SUN倒閉了我們的Java也不
會倒,因為Java是我們大家的! 開源的!
你還在猶豫學什麼語言嗎? 學習Java吧,它比C簡單! 呵呵……
結尾:Java 的發展將向 小型機(手持設備) 廣域的多機合作(分布式) 人工智慧系統(AI) Java
Java是巨大的推動力量
Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員
具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI
及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。
這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取
得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,
而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和
應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種
語言——所有內部採用晶元的產品都應能一起工作,無縫而方便地
共享信息。它已經改變企業和個人同Internet大交道的方式。現在,
它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影
響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因
為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在便
攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無
可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和
環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它
以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運
行。Java正在迅速被用做傳播信息的事實上標准,這是因為它既可給
企業,也可給最終用戶帶來似乎數不清的好處。
因此,請您仔細考察一下Java。它的優點是很容易發現的。
「Java正在進入企業、家庭和學校。
它正在象Internet本身一樣成為普遍存在的技術。」
Oracle 公司董事長和首席執行官
Larru Ellison
「Java正在改變我們使用Internet的方法,改變我們
在公司內部存取信息的方法,甚至改變我們使用蜂窩
電話的方法。它正在從根本上改變製作信息、銷售信息
和分配信息的方法。」
EarthWeb公司董事長和首席執行官
Jack Hidary
Java的來龍去脈
Sun公司一小組工程師聚集在一起,認真思考日常生活中的
數字系統——因為烤麵包機、恆溫器、游戲機和其他無數設備
都包含越來越復雜的CPU——以及他們如何能使這些數字系統
共享信息。
創造未來的計算
製造產品的人當然全都從不同的方面來考慮其設計,視他們
所使用的硬體平台、操作系統和應用軟體而定。但是,如果您要
使這些產品中的一些產品一起工作,那怎麼辦?安全性、可靠性
和網路問題又這么樣呢?
因此,Sun公司這些工程師把各種不同的產品折開來,然後又
把它們重新組裝起來,其目標是要使這些不同的設備相互交談。
他們把這些研究對象相互傳來傳去,並理解所有其他研究對象的
特性,以便使他們能更好地一起工作。這就把製造商的問題縮減
到最低程度,並使消費者能方便地進行集成。當傳統的語言證明
是不適用時,工程師們就打算找到某種簡單的現代新語言。於
是, Java應運而生。
人們很快發現,Java有可能超越工程師的想像。Java的魅力在
於它提供給開發人員和用戶的簡便性。開發人員擁有廣大的用戶基
礎、平台獨立性、降低的開發費用和始終如一的執行環境,而用戶
則可 從生動的內容、即時軟體和增大的安全性中受益。
但是,Java正是從置於World Wide Web那時起才真正起飛。Java
使全世界大為震動,因為它使Web頁面栩栩如生,而且不久變得很明
顯,Java擁有大得多的潛力。人們之所以採納Java,是因為它有獨特
的能力來編制和部署能在任何一個網路、任何一個操作系統上運行的
應用軟體。分配軟體的時間和費用實際上已不復存在,使得各公司可
把更多的資源用來開發其產品。而且,某些工業專家認為,Java可能
會改變軟體銷售模式,從固定價格改變為按使用量收費,這樣做更有
利可圖,而且可阻止非法盜版。
Java是一種網路計算的通用開放標准平台。這種平台可從電話一
直擴展到極端重要的應用,建立在您現有的硬體和軟體體系結構基礎
上,從而創造出一個全部聯網的企業或者製造出超出的創新產品。
「由於Java具有可縮放性,因而我們可以把Java應用於小應
用軟體或大應用軟體,把它晶元組以及大型計算機和伺服器,並
使它為各種不同的應用領域服務。」
三菱公司系統營銷副總裁
Steve Hester
「藉助Java,您可以用一種能最有效地使用的方式動態地分
發和分配互動式商務應用軟體一一在需要運行應用軟體的地方,
在需要運行應用軟體的時候。」
Novell公司開發者服務部副總和總經理
Gary Mueller
Java紮下根來
在某種意義上,Java具體體現了Sun Microsystiems公司自其14年
前創建以來所追述的目標。當時,它創造了「網路就是計算機」這局名
言。它市基於Web的新網路計算模式的完美平台,因為它建立在各個
組織現有的硬體和軟體體系結構基礎上,能建立一個全部聯網的企業。
Java是一個完整而全面的解決方案
Java遠不止是一種編程語言,它是企業內外的完整計算環境,而
且萬事齊備,從開發工具、操作系統、伺服器軟體和瘦/肥客戶機一
直到網路管理工具、支持、培訓、咨詢和集成服務,一應俱全。Java
使用起來非常簡單,部分原因是Sun提供一種全面統一的解決方案。
主要組成部分包括:
*Java開發工具和服務:有助於簡化開發Java應用軟體的產品和
服務
*JavaOS:一種結構緊湊的操作系統,可使Java應用軟體在網路
計算機和蜂窩電話等設備上運行
*Java虛擬機:一層軟體,嵌入Windows、Macintosh和UNIX等計
算機操作系統,或在這些操作系統上運行,從而使計算機能
運行Java應用軟體
*Java API:標准軟體界面,位於Java應用軟體和資料庫檢索和
安全性等服務軟體之間
*Java晶元:一系列為Java優化的為處理器
*Solstice WorkShop:Java啟動的網路管理工具
*Java培訓:一個由教師指導和基於多媒體的完整課程,教會編
程員如何開發Java應用軟體,包括一個用來驗證熟練程度的
認證計劃
*JavaWorkShop支持:900號電話服務,可為Java WorkShop用戶
(僅限美國用戶)立即提供按需支持
這些產品依靠由Sun的核心技術和服務提供的基礎,包括:
*Solaris操作系統
*Sikstuce企業管理系統
*WorkShop開發者工具
*SunSpectrum支持服務
*Internet咨詢和集成服務
*Java和Internet教育服務
*ultra工作站和Ultra Enterprise伺服器;Netra伺服器
難怪大公司和日益增多的全球2000公司正在把Java計算用做系統以及
其終產品的主要方面。
「您不會把您自己鎖住在任何一家公司的專有技術中。
開放意味著選擇。而Java使您有選擇餘地。」
Oracle公司董事長和首席執行官
Larry Ellison
㈩ Java是什麼意思啊
Java是一種編程語言,計算機語言:
1991年,Sun成立了一個稱為Green的項目小組,專攻計算機在家電產品上的嵌入式應用。
由於C++所具有的優勢,該項目組的研究人員首先考慮採用C++來編寫程序。但對於硬體資源極其匱乏的單片式系統來說,C++程序過於復雜和龐大。另外由於消費電子產品所採用的嵌入式處理器晶元的種類繁雜,如何讓編寫的程序跨平台運行也是個難題。
為了解決困難,他們首先著眼於語言的開發。對於新語言的設計,Sun公司研發人員並沒有開發一種全新的語言,而是根據嵌入式軟體的要求,對C++進行了改造,去除了留在C++的一些不太實用及影響安全的成分,並結合嵌入式系統的實時性要求,開發了一種稱為Oak的面向對象語言。後來Oak語言也就因為缺乏硬體的支持而無法進入市場,從而被擱置了下來。
1995年,互聯網的蓬勃發展給了Oak機會。業界為了使死板、單調的靜態網頁能夠「靈活」起來,急需一種軟體技術來開發一種程序,這種程序可以通過網路傳播並且能夠跨平台運行。於是,世界各大IT企業為此紛紛投入了大量的人力、物力和財力。這個時候,Sun公司想起了那個被擱置起來很久的Oak,並且重新審視了那個用軟體編寫的試驗平台,由於它是按照嵌入式系統硬體平台體系結構進行編寫的,所以非常小,特別適用於網路上的傳輸系統,而Oak也是一種精簡的語言,程序非常小,適合在網路上傳輸。
在申請注冊商標時,發現Oak已經被人使用了,再想了一系列名字之後,最終,使用了提議者在喝一杯Java咖啡時無意提到的Java詞語。
以上這就是Java,你了解到啦嗎?