The Java™ Tutorials
人們都在談論java技術,但是它究竟是什麼呢?下面的章節會詳細介紹爲什麼java技術是一種編程語言和一個平臺,並且提供了這個技術可以爲你解決什麼問題。
- 關於java
- java可以做什麼
- java是怎樣改變我們的生活的
1.關於java
java技術包括編程語言和平臺
java編程語言
java編程語言是一種高級語言,有如下特徵:
- 簡單
- 面向對象
- 分佈式
- 多線程
- 動態
- 結構化
- 可移植
- 高性能
- 健壯性
- 安全性
上面的流行詞在 The Java Language Environment ,James Gosling 和 Henry McGilton寫的白皮書
java編程語言,所有的源代碼首先書寫在無格式的以.java爲後綴的文本文件中。這些源碼文件然後通過javac編譯器編譯成.class文件。一個.class文件並不包括在你的本地處理器的代碼;它用字節碼(JVM的機器語言)來進行代替。然後java加載工具會創建一個JVM實例來運行你的應用程序。如下圖
因爲JVM可以運行在在很多不同的操作系統上,同樣的.class文件也可以運行在不同的操作系統上。一些虛擬機,比如 Java SE HotSpot at a Glance,在運行時會執行額外的步驟來提升性能。這包括不同的任務,比如尋找性能瓶頸和利用代碼片段頻繁的重新編譯(對於本地代碼)。如下
通過JVM,同一個應用可以運行在不同的平臺上。
Java平臺
平臺是程序運行所依賴的硬件或者軟件環境。我們已經提到了最流行的幾種平臺,比如Microsoft Windows, Linux, Solaris OS, 和 Mac OS。大多數的平臺可以描述成操作系統和硬件的組合。java平臺與其他平臺不同的地方就是它只是軟件平臺,運行在其他基於硬件平臺之上。
java平臺有兩個組成部分:
- java 虛擬機(JVM )
- java應用程序接口(API)
JVM是java平臺的基礎並且運行在其他硬件平臺之上。
API是一個已經封裝好了的潤健組件的龐大的集合,這些組件提供了很多有用的功能。它分在相似的類和接口的庫中,這些庫就是包。
API和JVM將應用程序隔離出所依賴的硬件,如下圖所示
因爲是一個平臺獨立的環境,java平臺會比本地代碼要慢一點。然而,編譯的優勢和虛擬機技術帶來的性能和沒有可移植性的本地代碼相近。
2.java可以做什麼
一般來說,高級java編程語言是一個強大的軟件平臺。每個java平臺的全部實現有下面的特徵:
開發工具
開發工具提供了你編譯、運行、監視、調試和編寫應用程序文檔所需要的一切。作爲一個菜鳥,主要的工具就是javac 編譯器,java啓動器,和javadoc 文檔工具。API
應用程序接口提供了java編程語言的核心函數方法。它提供了一系列的已經打包好了的有用的類。它包括從基礎對象到網絡編程和安全,XML生成和數據庫訪問等等。這個核心API非常龐大,可以參見相應的文檔。配置部署技術
JDK軟件提供了標準的機制比如Java web start 軟件和執行你的應用程序的java 插件庫用戶界面工具集
javaFX,Swing,和java2D 工具集使得用戶可以進行復雜的圖像化界面操作
Graphical User Interfaces (GUIs).集成庫
集成庫比如 java IDL API,JDBC API, Java Naming and Directory Interface (JNDI) API,java RMI,和java Remote Method Invocation(java遠程方法調用)通過網絡協議技術(Java RMI-IIOP Technology),數據庫訪問和遠程對象修改