"

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

"

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

編程語言學習之——Java

Java具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

編程環境

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用服務器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK。

另外,可以把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運行的標準環境。

JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可 。

"

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

編程語言學習之——Java

Java具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

編程環境

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用服務器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK。

另外,可以把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運行的標準環境。

JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可 。

編程語言學習之——Java

編程工具

Eclipse:一個開放源代碼的、基於Java的可擴展開發平臺 [16] 。

NetBeans:開放源碼的Java集成開發環境,適用於各種客戶機和Web應用。

IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司開發的一款商業化軟件,是應用比較廣泛的Java應用程序集成開發環境 。

EditPlus:如果正確配置Java的編譯器“Javac”以及解釋器“Java”後,可直接使用EditPlus編譯執行Java程序 。

語言特點

1.簡單性

Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。

2.面向對象

Java是一個面向對象的語言。對程序員來說,這意味著要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法的集合。數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。

Java還包括一個類的擴展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶接口部件的類(java.awt包),這裡awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網絡功能的類(java.net包)。

"

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

編程語言學習之——Java

Java具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

編程環境

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用服務器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK。

另外,可以把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運行的標準環境。

JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可 。

編程語言學習之——Java

編程工具

Eclipse:一個開放源代碼的、基於Java的可擴展開發平臺 [16] 。

NetBeans:開放源碼的Java集成開發環境,適用於各種客戶機和Web應用。

IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司開發的一款商業化軟件,是應用比較廣泛的Java應用程序集成開發環境 。

EditPlus:如果正確配置Java的編譯器“Javac”以及解釋器“Java”後,可直接使用EditPlus編譯執行Java程序 。

語言特點

1.簡單性

Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。

2.面向對象

Java是一個面向對象的語言。對程序員來說,這意味著要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法的集合。數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。

Java還包括一個類的擴展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶接口部件的類(java.awt包),這裡awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網絡功能的類(java.net包)。

編程語言學習之——Java

3.分佈性

Java設計成支持在網絡上應用,它是分佈式語言。Java既支持各種層次的網絡連接,又以Socket類支持可靠的流(stream)網絡連接,所以用戶可以產生分佈式的客戶機和服務器。

網絡變成軟件應用的分佈運載工具。Java程序只要編寫一次,就可到處運行。

4.編譯和解釋性

Java編譯程序生成字節碼(byte-code),而不是通常的機器碼。Java字節碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平臺。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。

在一個解釋性的環境中,程序開發的標準“鏈接”階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進環境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗,它將導致快速程序開發。這是一個與傳統的、耗時的“編譯、鏈接和測試”形成鮮明對比的精巧的開發過程。

5.穩健性

Java原來是用作編寫消費類家用電子產品軟件的語言,所以它是被設計成寫高可靠和穩健軟件的。Java消除了某些編程錯誤,使得用它寫可靠軟件相當容易。

Java是一個強類型語言,它允許擴展編譯時檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風格的隱式聲明。這些嚴格的要求保證編譯程序能捕捉調用錯誤,這就導致更可靠的程序。

可靠性方面最重要的增強之一是Java的存儲模型。Java不支持指針,它消除重寫存儲和訛誤數據的可能性。類似地,Java自動的“無用單元收集”預防存儲漏洩和其它有關動態存儲分配和解除分配的有害錯誤。Java解釋程序也執行許多運行時的檢查,諸如驗證所有數組和串訪問是否在界限之內。

異常處理是Java中使得程序更穩健的另一個特徵。異常是某種類似於錯誤的異常條件出現的信號。使用try/catch/finally語句,程序員可以找到出錯的處理代碼,這就簡化了出錯處理和恢復的任務。

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是多線索語言,它提供支持多線索的執行(也稱為輕便過程),能處理不同任務,使具有線索的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線索、運行線索、停止線索和檢查線索狀態的方法。

Java的線索支持也包括一組同步原語。這些原語是基於監督程序和條件變量風範,由C.A.R.Haore開發的廣泛使用的同步化方案。用關鍵詞synchronized,程序員可以說明某些方法在一個類中不能併發地運行。這些方法在監督程序控制之下,確保變量維持在一個一致的狀態。

10.動態性

Java語言設計成適應於變化的環境,它是一個動態的語言。例如,Java中的類是根據需要載入的,甚至有些是通過網絡獲取的。

"

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

編程語言學習之——Java

Java具有簡單性、面向對象、分佈式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。

編程環境

JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用服務器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK。

另外,可以把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(JAVA Runtime Environment),JRE是支持Java程序運行的標準環境。

JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可 。

編程語言學習之——Java

編程工具

Eclipse:一個開放源代碼的、基於Java的可擴展開發平臺 [16] 。

NetBeans:開放源碼的Java集成開發環境,適用於各種客戶機和Web應用。

IntelliJ IDEA:在代碼自動提示、代碼分析等方面的具有很好的功能。

MyEclipse:由Genuitec公司開發的一款商業化軟件,是應用比較廣泛的Java應用程序集成開發環境 。

EditPlus:如果正確配置Java的編譯器“Javac”以及解釋器“Java”後,可直接使用EditPlus編譯執行Java程序 。

語言特點

1.簡單性

Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。因為Java沒有結構,數組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實現自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時間和精力花在研發上。

2.面向對象

Java是一個面向對象的語言。對程序員來說,這意味著要注意應中的數據和操縱數據的方法(method),而不是嚴格地用過程來思考。在一個面向對象的系統中,類(class)是數據和操作數據的方法的集合。數據和方法一起描述對象(object)的狀態和行為。每一對象是其狀態和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個類層次體系中有一個根類,它是具有一般行為的類。Java程序是用類來組織的。

Java還包括一個類的擴展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產生圖形用戶接口部件的類(java.awt包),這裡awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網絡功能的類(java.net包)。

編程語言學習之——Java

3.分佈性

Java設計成支持在網絡上應用,它是分佈式語言。Java既支持各種層次的網絡連接,又以Socket類支持可靠的流(stream)網絡連接,所以用戶可以產生分佈式的客戶機和服務器。

網絡變成軟件應用的分佈運載工具。Java程序只要編寫一次,就可到處運行。

4.編譯和解釋性

Java編譯程序生成字節碼(byte-code),而不是通常的機器碼。Java字節碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平臺。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。

在一個解釋性的環境中,程序開發的標準“鏈接”階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進環境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗,它將導致快速程序開發。這是一個與傳統的、耗時的“編譯、鏈接和測試”形成鮮明對比的精巧的開發過程。

5.穩健性

Java原來是用作編寫消費類家用電子產品軟件的語言,所以它是被設計成寫高可靠和穩健軟件的。Java消除了某些編程錯誤,使得用它寫可靠軟件相當容易。

Java是一個強類型語言,它允許擴展編譯時檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風格的隱式聲明。這些嚴格的要求保證編譯程序能捕捉調用錯誤,這就導致更可靠的程序。

可靠性方面最重要的增強之一是Java的存儲模型。Java不支持指針,它消除重寫存儲和訛誤數據的可能性。類似地,Java自動的“無用單元收集”預防存儲漏洩和其它有關動態存儲分配和解除分配的有害錯誤。Java解釋程序也執行許多運行時的檢查,諸如驗證所有數組和串訪問是否在界限之內。

異常處理是Java中使得程序更穩健的另一個特徵。異常是某種類似於錯誤的異常條件出現的信號。使用try/catch/finally語句,程序員可以找到出錯的處理代碼,這就簡化了出錯處理和恢復的任務。

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是多線索語言,它提供支持多線索的執行(也稱為輕便過程),能處理不同任務,使具有線索的程序設計很容易。Java的lang包提供一個Thread類,它支持開始線索、運行線索、停止線索和檢查線索狀態的方法。

Java的線索支持也包括一組同步原語。這些原語是基於監督程序和條件變量風範,由C.A.R.Haore開發的廣泛使用的同步化方案。用關鍵詞synchronized,程序員可以說明某些方法在一個類中不能併發地運行。這些方法在監督程序控制之下,確保變量維持在一個一致的狀態。

10.動態性

Java語言設計成適應於變化的環境,它是一個動態的語言。例如,Java中的類是根據需要載入的,甚至有些是通過網絡獲取的。

編程語言學習之——Java

技術應用

1、Android應用

許多的 Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA遊戲,這就使很多非編程人員都認識了JAVA。

2、在金融業應用的服務器程序

Java在金融服務業的應用非常廣泛,很多第三方交易系統、銀行、金融機構都選擇用Java開發,因為相對而言,Java較安全 。大型跨國投資銀行用Java來編寫前臺和後臺的電子交易系統,結算和確認系統,數據處理項目以及其他項目。大多數情況下,Java被用在服務器端開發,但多數沒有任何前端,它們通常是從一個服務器(上一級)接收數據,處理後發向另一個處理系統(下一級處理)。

3、網站

Java 在電子商務領域以及網站開發領域佔據了一定的席位。開發人員可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0以及frameworks。即使是簡單的 servlet,jsp和以struts為基礎的網站在政府項目中也經常被用到。例如醫療救護、保險、教育、國防以及其他的不同部門網站都是以Java為基礎來開發的。

4、嵌入式領域

Java在嵌入式領域發展空間很大。在這個平臺上,只需130KB就能夠使用Java技術(在智能卡或者傳感器上)。

5、大數據技術

Hadoop以及其他大數據處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及 ElasticSearchas。

6、高頻交易的空間

Java平臺提高了這個平臺的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java成為的程序員編寫交易平臺的語言,因為雖然性能不比C++,但開發人員可以避開安全性,可移植性和可維護性等問題。

7、科學應用

Java在科學應用中是很好選擇,包括自然語言處理。最主要的原因是因為Java比C++或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的併發性更好。

"

相關推薦

推薦中...