Java教學

Java是一種廣泛使用的計算機編程技術。我們從瞭解一些基本問題開始學習java,例如瞭解什麼是java,核心java,java在哪裏使用,在java中創建什麼類型的應用程序,爲什麼使用java等等。

Java是什麼?

Java是一種編程語言和一個平臺。Java是一種高級,健壯,安全和麪向對象的編程語言。

平臺: 程序運行的任何硬件或軟件環境都可叫作平臺。由於Java有自己的運行時環境(JRE)和API,所以它也被稱爲平臺。

Java示例

下面來看看一個java編程示例。 Hello Java示例程序的詳細描述將在教程的下一頁中給出。

class Simple{  
    public static void main(String args[]){  
     System.out.println("Hello Java");  
    }  
}

Java在哪裏使用?

據Sun公司(現已被Oracle公司收購)稱:有30億個設備使用和運行java。現在仍有很多設備(Android手機就是一種),目前使用java。其中一些如下:

  1. 桌面應用程序,如acrobat閱讀器,媒體播放器,防病毒等。
  2. Web應用程序,如:irctc.co.intaobao.comjd.com等。
  3. 企業應用程序如銀行應用程序。
  4. 移動應用(Android手機)
  5. 嵌入式系統
  6. 智能卡
  7. 機器人
  8. 遊戲等

Java應用程序的類型

主要有4種類型的應用程序可以使用java編程語言來創建:

1. 獨立應用程序

它也被稱爲桌面應用程序或基於窗口的應用程序。我們需要在每臺機器上安裝的應用程序,如媒體播放器,防病毒等。AWTSwing框架在java中可用於創建獨立應用程序。

2. Web應用程序

在服務器端運行並創建動態頁面的應用程序稱爲Web應用程序。目前,servlet,jsp,struts,jsf等技術用於在java中創建web應用程序。

3. 企業應用

自然分佈的應用程序,如銀行應用程序等。它具有高級別安全性,負載平衡和集羣的優勢。 在java中,EJB用於創建企業應用程序。

4. 移動應用

爲移動設備創建的應用程序。目前Android和Java ME用於創建移動應用程序。

Java的歷史

Java的歷史是比較有趣的。Java的歷史從綠色團隊(Green Team)開始,Java團隊成員(也稱爲綠色團隊-Green Team)發起了一項革命性任務,他們想要爲數字設備(如機頂盒,電視等)開發語言。

對於綠色團隊成員,這是一個先進的概念。 但是,它適合於互聯網編程。 後來,Java技術由Netscape合併。

目前,Java用於互聯網編程,移動設備,遊戲,電子商務解決方案等。下面是描述Java歷史的主要特點。

  1. James GoslingMike SheridanPatrick Naughton於1991年6月發起了Java語言項目。Sun工程師的小團隊稱爲Green Team

  2. Java的最初設計用於電子電器,如:機頂盒中的小型嵌入式系統。

  3. 最初,它被James Gosling稱爲「Greentalk」,文件擴展名爲.gt(不是.java)。

  4. 之後,它被稱爲 Oak ,並開發作爲 Green 項目的一部分。

下面就是Java之父 - James Gosling 大神。
Java教程

提示:據說每個在Java編程的人在第一次學習Java的時候,都要拜一拜他。以求在未來編寫的Java程序時,少幾個Bug。

爲什麼 Sun 要選擇「Oak」這個的名字?

  1. 爲什麼選擇的名字橡樹(Oak)? 因爲橡樹是力量的象徵,選擇作爲美國,法國,德國,羅馬尼亞等許多國家的國家樹。

  2. 1995年,Oak正式更名爲「Java」,因爲Oak技術的這個商標已經被別人使用了。

爲什麼sun選擇「Java」作爲名字?

  1. 爲什麼他們選擇java名稱爲java語言? 當時團隊聚集要選擇一個新的名字,建議的單詞是「動態的」,「革命的」,「絲綢的」,「顛簸」,「DNA」等。他們想要的東西反映了技術的本質:革命,動態,活潑,酷,獨特,容易拼寫和有趣。

  2. 根據詹姆斯·高斯林(James Gosling)的「Java was one of the top choices along with Silk」 因爲java是如此獨特,大多數團隊成員都喜歡java。

  3. Java是印尼的一個島嶼,它生產第一杯咖啡(稱爲java咖啡)。

  4. 請注意,Java不是一個縮寫的名稱。

  5. 最初由James Gosling在Sun Microsystems(現在是Oracle的子公司)開發,並於1995年發佈。

  6. 1995年,「時代」雜誌稱之爲「1995年十大最佳產品之一」。

  7. JDK 1.0發佈(1996年1月23日)。

Java版本歷史

現在爲止,已經發布了許多java版本了,Java當前穩定版本是Java SE 8,馬上就要出來新版本:Java 9 了 。歷史版本如下:

  • JDK Alpha and Beta (1995)
  • JDK 1.0 (23rd Jan, 1996)
  • JDK 1.1 (19th Feb, 1997)
  • J2SE 1.2 (8th Dec, 1998)
  • J2SE 1.3 (8th May, 2000)
  • J2SE 1.4 (6th Feb, 2002)
  • J2SE 5.0 (30th Sep, 2004)
  • Java SE 6 (11th Dec, 2006)
  • Java SE 7 (28th July, 2011)
  • Java SE 8 (18th March, 2014)
  • Java SE 9 (?)

Java語言特點

下面列出許多java的功能的特點。它們也被稱爲java流行語。下面給出的Java特性簡單易懂。

  1. 簡單(Simple)
  2. 面向對象(Object-Oriented)
  3. 方便,可移植(Portable)
  4. 平臺獨立(Platform independent)
  5. 安全(Secured)
  6. 強大,健壯(Robust)
  7. 體系結構中立(Architecture neutral)
  8. 動態(Dynamic)
  9. 解釋執行(Interpreted)
  10. 高性能(High Performance)
  11. 多線程(Multithreaded)
  12. 分佈式(Distributed)

如下圖所示 -

Java教程

接下來我們一個個地解釋說明。

簡單(Simple)

根據Sun的說法,Java語言很簡單,這是因爲:

  • Java的語法是基於C++(程序員在學習C++之後更容易學習它)。
  • 移除許多令人困惑和/或很少使用的特徵,例如,顯式指針,操作符重載等。
  • 不需要刪除未引用的對象,因爲在Java中有自動垃圾收集。

面向對象(Object-Oriented)

面向對象意味着將軟件組織成不同類型的對象,對象中結合了數據和行爲。面向對象編程(OOP)是一種通過提供一些規則來簡化軟件開發和維護的方法。
面向對象編程(OOP)的基本概念是:

  • 對象
  • 繼承
  • 多態性
  • 抽象
  • 封裝

平臺獨立(Platform independent)

平臺是程序運行的硬件或軟件環境。有兩種類型的平臺:基於軟件和基於硬件。Java提供基於軟件的平臺。
Java平臺與大多數其他平臺的不同之處在於它是一個基於軟件的平臺,運行在其他基於硬件的平臺之上。它有兩個組件:

  1. 運行時環境
  2. API(應用程序編程接口)

Java教程
Java代碼可以在多個平臺上運行,例如:Windows,Linux,Sun Solaris,Mac/OS等。Java代碼由編譯器編譯並轉換爲字節碼。這個字節碼是一個獨立於平臺的代碼,因爲它可以在多個平臺上運行,即一次寫入和到處運行(WORA)。

安全(Secured)

Java是安全的,這是因爲:

  • 沒有顯式指針

  • Java程序在虛擬機沙箱中運行
    Java教程

  • 類裝載器:通過將本地文件系統與那些從網絡資源導入的類分開包裝,以增加安全性。

  • 字節碼校驗器:檢查代碼片段中是否存在違反對象訪問權限的非法代碼。

  • 安全管理器:確定類可以訪問什麼資源,例如讀取和寫入本地磁盤。

這些安全方法是由java語言提供的。 一些安全性還可以由應用開發商通過SSL,JAAS,加密等提供。

強大,健壯(Robust)

健壯意味着強大。Java使用強大的內存管理,從而避免有安全問題的指針。在java中有自動垃圾收集。 在java中有異常處理和類型檢查機制。所有這些點是使java強大的理由。

架構中立(Architecture neutral)

Java中並沒有實現相關的特徵。原始類型的大小是固定的。

在C語言編程中,對於32位架構,int數據類型佔用2字節的存儲器,對於64位架構,int數據類型佔用4字節的存儲器。 但在java中,它爲32位和64位體系結構佔用4字節的內存。

可移植

可以將java字節碼攜帶到任何平臺。

高性能

Java比傳統的解釋更快,因爲字節代碼與本地代碼「接近」,但仍然比編譯語言(例如C++)慢一些。

分佈式(Distributed)

可以在java中創建分佈式應用程序。RMI和EJB用於創建分佈式應用程序。我們可以通過從互聯網上的任何機器調用方法來訪問文件。

多線程

線程就像一個單獨的程序,併發執行。 我們可以編寫Java程序,通過定義多個線程一次處理多個任務。多線程的主要優點是每個線程它不佔用內存。它共享一個公共內存區域 線程對於多媒體,Web應用程序等非常重要。