Java編程開發簡介
Java由規范確定,包含編程語言、編譯器、核心庫和JVM (運行時Java virtual machine)。下面是小編整理的關于Java編程開發簡介,希望大家認真閱讀!
Java簡介
歷史
Java 編程語言由Sun微電子公司的James Gosling于1991年創建。1995年發布第一個版本(Java 1.0)。2010年 Sun 微電子公司被 Oracle 公司收購,現在 Java 語言由 Oracle公司控制和管理。2006年Sun宣布Java遵循GNU General Public License (GPL), Oracle繼續該項目,即OpenJDK。隨著時間的推移,新的增強版本的 Java 已經發布,最新的版本是 Java 1.8 即 Java 8。
Java由規范確定,包含編程語言、編譯器、核心庫和JVM (運行時Java virtual machine)。Java運行時允許軟件開發者用其他語言編碼,仍然運行在Java虛擬機上。 Java平臺通常與Java虛擬機和Java核心庫相關聯。
Java 虛擬機
Java 虛擬機(JVM)可以理解為是由軟件實現的虛擬計算機,可以像物理計算機一樣執行程序代碼。Java 虛擬機在不同操作系統下有特定的版本,比如:針對 Linux 操作系統的版本與針對 Windows 操作系統的版本是不一樣的。
Java程序由 Java 編譯器編譯成字節碼(bytecode),編譯后的字節碼由 Java 虛擬機解釋執行。
JRE 和 JDK
Java 的發布版本有兩種,Java Runtime Environment(JRE)以及 Java Development Kit(JDK)。
Java Runtime Environment(JRE)包含運行 Java 程序需要的必要組件:Java 虛擬機以及 Java 類庫。
Java Development Kit(JDK)包含用來創建 Java 應用程序的必要工具,比如,Java 編譯器、Java 虛擬機以及 Java 類庫。
Java 語言的特點
Java 語言的設計目標是:一次編寫到處運行。
Java 語言有以下特點:
平 臺無關性:Java 使用 Java 虛擬機運行 Java 程序,Java 虛擬機相當于應用程序和操作系統間的抽象層,應用程序不會直接訪問操作系統。這使得 Java 應用程序具備高度的可移植性。一個兼容標準和遵循規則的 Java 應用程序可以無需修改的在所有已支持的平臺上工作,例如: Windows 和 Linux。
面向對象的編程語言:除了原生數據類型,Java 語言中一切皆對象。
強類型編程語言:Java 語言是強類型編程語言。比如:變量類型需要預先定義,嚴格的類型轉換檢查(大多數情況下有程序猿完成)。
解 釋性和編譯型語言: Java 源代碼被編譯成字節碼(bytecode)這樣使得 Java 語言具備平臺性。這些字節碼(bytecode)指令由 Java虛擬機(JVM)解釋執行。JVM 使用 Hotspot 編譯技術會將性能相關的字節碼指令轉換為對用操作系統的二進制代碼執行。
自動內存管理: Java 。管理新創建對象的內存分配和回收工作應用程序代碼不直接訪問內存。由稱之為垃圾回收(garbage collector)的機制自動刪除沒有無引用的對象。
Java 語言的語法與 C++ 語言的語法非常接近,Java 語言是大小寫敏感的,比如: myValue 變量與 myvalue 變量是兩個不同的變量。
Java語言的開發過程
Java 源代碼文件是一個純文本文檔,Java 程序員通常在 Integrated Development Evvironment(IDE)中編寫 Java 程序。IDE是幫助程序員完成編碼工作的工具,它具備自動格式化代碼、語法高亮等功能。
Java 程序員(或 IDE)調用 Java 編譯工具(javac)編譯源代碼,Java 編譯工具會將源代碼編譯成字節碼(bytecode)指令。這些指令保存在 .class 文件中由 Java 虛擬機(JVM)來運行。
垃圾回收(Garbage collector)
JVM 自動回收沒有被引用的內存空間,它會檢查所有對象的'引用并查找那些對象可以被自動回收。垃圾回收機制使程序員無需手工管理內存,但是程序員還是需要保證程 序中沒有不需要的對象引用,否則垃圾回收機制就無法自動釋放對象內存。我們通常把不需要的對象引用通常被稱為“內存泄漏”。
Classpath
Java 編譯器以及 Java 運行時通過類路徑(classpath)來查找和裝載 .class文件。比如,如果你打算在應用程序中使用第三方 Java 類庫那么你需要把類庫的路徑添加到你的類路徑中,否則你的應用程序無法編譯或者運行。
安裝 Java
檢查安裝
你的計算機可能已經安裝了 Java,你可以在控制臺中使用下面命令來測試 Java 是否已安裝(如果你使用 Windows 操作系統,可以按下 Win+R,輸入 cmd 后回車即可打開控制臺):
java -version
如果你的計算機已經安裝了 Java,你應該會看到輸出已安裝的 Java 版本信息。如果命令行返回應用程序沒有找到,那么你就需要安裝 Java 了。
安裝 Java
在 Ubuntu 操作系統中,你可以使用下面的命令安裝 Java:
sudo apt-get install openjdk-7-jdk
對于 Microsoft Windows 操作系統,可以到 Oracle 網站 下載對應的安裝包,網站也有相應的文檔來指導你如何在其他操作系統上安裝 Java。
如 果在安裝過程中出現了問題,可以使用“how to install JDK on your_os"關鍵詞在谷歌搜索(對于國內用戶則使用”如何在your_os安裝JDK“關鍵詞在百度搜索)記住把 "your_os" 替換為你的操作系統名稱哦,比如:Windows、Ubuntu、Mac OS X 等等。
2.3 驗證安裝
回到剛才的命令行(不知道那個?參考2.3節)執行下面的命令:
java -version
你會得到下面的輸出內容:
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
2.4 如何查看當前使用的是32位或64位版本的 Java
在64位操作系統上你可以使用32位或64位版本的Java,如果 java -version 命令的輸出中包含 64-bit 這樣的字符串說明你正在使用的 Java 版本是64位的,否則你正在使用的 Java 版本是32位的。下面的是64位版本的輸出:
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
編寫源代碼
下面的 Java 代碼是在 Linux 操作系統命令行上使用文本編輯器(vim、emacs等)編寫的。其他操作系統上也類似,這里就不再做介紹了。
首先需要新建一個目錄來保存源代碼,這里我們使用目錄 homevogellajavastarter 。如果你使用 Windows 目錄可能是 c: empjavastarter ,后面我們會使用 "javadir" 來代表這個路徑。
打開一個文本編輯器,不如:Linux操作系統下的 gedit、vim、emacs等,Windows下的 Notepad等,然后輸入以下代碼:
HelloWorld.java:
// a small Java program
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
注意:不要使用富文本編輯器,如:Microsoft Word 或者 LibreOffice 來編寫源代碼。
將源代碼保存到 “javadir” 目錄下的 HelloWorld.java 文件中。Java 源文件名稱始終要與源代碼中得類名一致,并且以 .java 作為后綴。這個例子中源文件名為 HelloWorld.java 因為我們定義的類名是 HelloWorld 。
編譯、運行
打開一個Shell(Linux以及Unix-like)或者命令行(Windows),使用 cd javadir 進入 "javadir" 目錄,在我們的例子中命令是 cd homevogellajavastarter 。使用 ls (Window中是 dir )來驗證源文件是否存在。
使用下面命令編譯源文件:
javac HelloWorld.java
命令完成后,重新使用 ls (或者 dir )命令查看目錄內容,可以看到目錄中多出一個 HelloWorld.class 文件,說明你已經成功的將源代碼編譯成字節碼了。
提示:默認情況下 編譯器 會將每個類文件放在和源文件下共同的目錄中。你可以在編譯時使用 -d 參數來指定不同的目錄。
現在可以運行你的第一個 Java 應用程序了。確保你還在 "javadir" 目錄,然后執行下面命令來運行程序:
java HelloWorld
程序會在終端輸出 "Hello World" 字符串,參考下圖
使用類路徑(classpath)
你可以通過指定類路徑從其他位置運行應用程序。還是打開Shell或者控制臺,然后隨便進入一個目錄,輸入以下命令:
java HelloWorld
如果你當前不在編譯后類文件所在的目錄,那么 Java 虛擬機 會提示錯誤:"Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld"。
要正確運行程序,輸入下面的命令(將mydirectory替換為你的” java dir"):
java -classpath "mydirectory" HelloWorld
這樣你又可以看到 "HelloWorld" 字符串輸出了。
Java 語言結構
基礎:包(Package)、類(Class)和對象(Object)
了解 Java 的包(Package)、類(Class)和對象(Object)這些基礎術語是非常重要的,這部分內容將概要的介紹這些術語。
包(Package)
Java 使用包來組織類,通常按照業務邏輯將類分組到不同的包中。比如:應用程序的所有圖形界面可能被分組到 com.vogella.webapplication.views 包中。
通常的做法是使用公司域名的倒序作為頂層包,比如:公司的域名是 "4byte.cn" 那么這個公司 Java 應用的頂層包名可能是 cn.4byte 。
包的另一個重要用途是避免類命名沖突,類命名沖突是指兩個開發人員為他們編寫的類使用了同樣的全限定名。Java 中類的全限定名是 報名+‘.'+類名,比如: cn.4byte.HelloWorld 。
如果沒有包,當兩個程序猿同時給他編寫的類起名為 Test 時就會產生命名沖突(而且操作系統也無法創建文件)。結合 Java 包機制,我們可以明確的告訴 虛擬機 我們將使用哪個 Test 類,比如:第一個程序員將 Test 類放到 report 包中,另一個 程序員 將他寫得 Test 類放到 xmlreader 包中,那么他們就可以通過全限定名來明確區分兩個類 以及 。
類(class)
定義:類是一個模板,用來定義對象的數據以及行為,可以理解類為對象的藍圖。
在 Java 中使用 class 關鍵字來定義類,類名的第一個字母必須大寫。類體需要在'{..}'中定義。如:
MyClass.java:
package test;
class MyClass {
}
類的數據保存在屬性中,類行為由方法實現。Java 源文件需要以 "類名“ + ". java " 的形式保存。