Java程序概述


第一章 Java程序概述(1996年Java第一次發布)

1、Java特性

1.簡單性

"簡單"的另一個方面就是小,Java的目標之一就是支持開發能夠在小型機器上獨立運行的軟件,也就是Java的ME版本。語法上剔除了C++比較難以理解,容易混淆的語法,以及復雜的指針。

2.面向對象

面向對象是一種程序設計技術重點在數據(即對象)和對象的接口上。書中舉了個面向過程和面向對象的區別:它說一個“面向對象”的木匠始終關注的是所制造的椅子,其次是所使用的工具。一個“面向過程”的木匠首先考慮的是所用的工具。其實簡單理解為就是 一個考慮的是數據對象,一個考慮的是方法。

3.分布式

Java豐富的例程庫使得Java應用程序可以很方便的通過URL地址打開和訪問網絡上的對象。

4.健壯性

Java非常強調進行早期的問題檢測,后期動態的(運行時)檢測,Java與C/C++最大的不同在於Java采用的指針模型可以消除重寫內存和損壞數據的可能性。

5.安全性

因為Java要適用於網絡/分布式環境所以安全性頗受重視,早期的Java對於網絡上進行通信的時候,把從網絡來的代碼放進一個沙箱環境執行,而不影響主系統的運行。后期通過數字簽名和用戶授權的安全方式執行代碼。

6.體系結構中立

編譯時生成一個文件,這個文件可以在任何具有Java環境里可以運行,不管是什么操作系統。

7.可移植性

在Java中,數值類型具有固定的字節數。二進制數據以固定的格式進行存儲和傳輸。字符串則采用標准的Unicode格式存儲。

8.解釋型

Java解釋器可以在任何移植了解釋器的機器上直接執行Java代碼。

9.高性能

字節碼可以在運行時動態地轉換成對應運行這個應用的特定CPU的機器碼。例如,即時編譯器可以監控哪些代碼會頻繁執行並對其優化以提高速度。

10.多線程

多線程可以帶來更快的交互響應和實時行為。

例如,Java在問世之初,多核處理器還很神秘,而WEB編程才剛剛起步,處理器要花很長時間等待服務器響應,需要並發程序設計來確保用戶界面不會被“凍住”。

11.動態性

Java能夠適應不斷發展的環境,庫中可以自由的添加新方法和實例變量,而對客戶端卻沒有如何影響。

 

2、Java applet與Internet

在網頁中運行的Java程序稱為applet,要使用applet只需要一個啟動Java的Web瀏覽器。后來由於Java遭遇了嚴重的安全問題,瀏覽器和Java瀏覽器插件變得限制越來越多。如今,要在瀏覽器中使用applet,是有一定的難度的。

3、Java發展簡史

    1. Java語言的前身:Oak

    2. 1991年~1995年:Java的研發開始階段

    3. 1996年初:Java發布第一個版本。期間Java 1.1修復了1.0大部分的問題,但還有很大的局限性。

    4. 1998年:發布了Java 1.2版本稱為Java SE。此時Java分為了三個版本。

      1. JavaSE(也稱J2SE,Java 2 Platform Standard Edition,標准版) 此版本是其他兩個版本的基礎應用。
      2. JavaME(也稱J2ME,Java 2 Platform Micro Edition,微型版) 此版本主要用於嵌入式設備。
      3. JavaEE(也稱J2EE,Java 2 Platform Enterprise Edition,企業版) 此版本主要用於開發企業級大型服務器端的Java程序。
    5. 2004年:Java進行重大改革並更名為Java 5.0版本。添加許多重要的特性,比如foreach循環。

    6. 2006年末:發布了Java6版本。

    7. 2009年:sun公司被oracle收購,Java停止更新。

    8. 2011年:發布了Java7版本。

    9. 2014年:發布了Java8版本,這個版本也是發生了最大的變化。增加了“函數式”編程方式,以及流的使用。

       

      Java語言的演進
      版本 年份 新語言特性 類和接口數量
      1.0 1996 語言本身 211
      1.1 1997 內部類 477
      1.2 1998 strictfp修飾符 1524
      1.3 2000 1840
      1.4 2002 斷言 2723
      5.0 2004 泛型類、”for each“循環、可變元參數、自動裝箱、元數據、枚舉、靜態導入 3279
      6 2006 3793
      7 2011 基於字符串的選擇語句、菱形運算符、二進制字面量、異常處理增強 4024
      8 2014 lambda表達式、包含默認方法接口、流和日期/時間庫 4240
      9 2017 模塊、其他的語言和類庫增強 6005

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM