第01章Java技術入門——v512工作室 編輯:玄玉
何為Java |
Java虛擬機器 |
|
我的部落格 |
JDK安裝配置 |
Java運行環境 |
v512工作室 |
Java程式結構 |
Java自動垃圾收集 |
中科院新科海學校 |
何為Java
簡單概述:Java不僅是一種程式設計語言,更是一種功能強大、完備的開發和運行環境
官方網址為http://java.sun.com。Sun(Stanford University Network)1982年2月成立,目前全球僱員2萬6千餘人
發展曆程:1991年出現。那時不叫Java而叫Oak,也是一種程式設計語言,主要用於嵌入式家電的開發
1995--05--23。Sun在Oak的基礎上做了很大的改進,推出了Java的第一個版本Java1.0
一經推出即風靡全球,同時還發布了第一個Java開發工具集JDK1.0(Java Development kit)
1998年12月。發布JDK1.2,始稱Java2。JDK1.2在JDK1.0和1.1基礎上做了重大改進,於是在JDK1.2之後Sun公司把Java改成了Java2
表示JDK1.2以後的Java跟以前的Java有了截然不同的效能,所以給人感覺JDK1.2以後好象是Java第二代產品
三個平台:為了更好的讓Java適合不同程式的開發,Sun公司針對不同應用程式推出了三個子平台
Java Platform Micro Edition(Java ME):適合開發嵌入式家電和手機上啟動並執行程式
Java Platform Standard Edition(Java SE):適合開發案頭上啟動並執行應用程式
Java Platform Enterprise Edition(Java EE):適合企業級應用程式
設計目標:建立一種物件導向的程式設計語言。隨著技術的發展,如果要設計新的程式設計語言。如果不是物件導向的,基本上很難得到市場的認可
提供者啟動並執行解釋環境,使程式碼獨立於平台。也是Java的一大特點:獨立於平台,不與任何作業系統相關。一次編寫,四處運行
吸收C和C++的優點,使程式員容易掌握。去掉C和C++中影響程式健壯性的部分,如去掉指標、記憶體申請和釋放、無條件轉移語句等
提供多線程機制。提供動態下載程式代碼的機制。提供代碼檢驗機制以保證安全性
核心機制:Java語言提供了三種核心機制,即Java虛擬機器、垃圾收集機制、代碼安全性檢測
Java虛擬機器(JavaVirtual
Machine):利用Java虛擬機器可以實現Java語言的平台無關性
垃圾收集機制(GarbageCollection)
代碼安全性檢測(CodeSecurity)
運行原理:進階程式設計語言分為編譯型和解釋型兩種,而Java是兩種類型的結合。這裡需要提到三個常用術語,即Java來源程式、位元組碼檔案、機器碼指令
也就是說在Java中,首先需要編寫Java源檔案,再利用JDK中的工具javac把來源程式編譯成一個位元組碼檔案,即副檔名為class的檔案
然後再利用JDK中的java命令運行這個位元組碼檔案,進而做相應上的功能上的處理和相應的顯示輸出
程式分類:Java應用程式(Java Application):以main()方法作為程式入口,由Java解析器載入執行
Java小應用程式(Java Applet):沒有main()方法作為程式入口,由瀏覽器或appletviewer載入執行
運行時需要把小應用程式鑲嵌在HTML中,由瀏覽器載入HTML調用該程式進行運行
編譯運行:編譯來源程式:指令:javac HelloWorld.java(編譯時間可以同時編譯多個java檔案,如:javac A.java Test.java)
說明:源檔案名稱為HelloWorld.java,由javac編譯器編譯來源程式,產生位元組碼檔案(.class檔案)
解釋執行位元組碼檔案:指令:java HelloWorld(由java運行環境(JRE)解釋執行)
補充:這裡執行時不可輸入類似於這樣的口令:java HelloWorld.class或java HelloWorld.java
Java虛擬機器
在一台電腦上由軟體或硬體類比的電腦。Java虛擬機器(JVM)讀取並處理經編譯過的與平台無關的位元組碼class檔案
Java編譯器針對Java虛擬機器產生class檔案,所以利用JVM就可以讓我們編寫出來的程式獨立於不同平台
Java解譯器負責將Java虛擬機器的代碼在特定的平台上運行
利用javac命令編譯出來的副檔名為.class的位元組碼檔案可以在不同的操作平台上運行
具體運行時是在適合於不同平台的JVM上執行,所以利用JVM就實現了Java語言的跨平台性
Java運行環境(JRE:TheJava
Runtime Environment)
運行環境組成:JRE=JVM+Runtime Interpreter+其他
區分JRE和JDK:JRE是Java的運行環境,利用JRE可以讓我們的class檔案得以運行
JDK是Java的開發環境,它不僅能讓Java程式運行,並且提供了Java開發時需要的一些功能
一般情況下,從包括的範圍上來說,JDK當中已經包含了JRE的功能
三項主要功能:載入代碼:由class loader完成
校正代碼:由bytecode verifier完成
執行代碼:由runtime interpreter完成
Java自動垃圾收集(GC:GarbageCollection)
垃圾收集指的是不再使用的記憶體空間應回收。在C/C++等語言中,由程式員負責回收無用記憶體
Java語言解除了程式員回收無用記憶體空間的責任。它提供一種系統級線程跟蹤儲存空間的分配情況
並在JVM空閑時,檢查並釋放那些可被釋放的儲存空間空間。使用Java自動垃圾收集可以減輕程式開發的負擔
垃圾收集在Java程式運行過程中自動進行,程式員無法精確控制和幹預
Java程式結構
源檔案:如果Java源檔案包含了public修飾的類,那此源檔案命名時必須與public類同名(大小寫也要一致),尾碼為.java
類個數:一個源檔案中最多隻能有一個public類,其它類的個數不限
大小寫:Java語言中單詞拼字嚴格區分大小寫
第一部分:package語句為0或1個,必須放在檔案開始
第二部分:import語句為0或多個,位於package之後、其它成分之前
第三部分:public class Definition //0或1個
Class Definition //0或多個
Interface Definition //0或多個
JDK安裝配置(包括Java的運行環境、編譯器、相應API及其它的工具和資源)
下載JDK:java.sun.com右側Technologies(或Popuar Downloads)下點JavaSE,點Downloads,點JDK6Update3的Download按鈕
在新頁面中需要接受他們的協議,點Accept。然後選擇65.64MB的For Windows的jdk-6u3-windows-i586-p.exe
安裝JDK:安裝時進入自訂安裝介面後,選擇安裝我們所需要的內容
①、開發工具:需要
②、示範程式及範例:需要
③、原始碼:指的是JDK中API的原始碼
④、公用JRE:需要
⑤、Java DB:這是Sun新增加的一個用Java編寫的資料庫。我們不需要,可以不用安裝它
這5個可選功能的表徵圖後都有向下三角箭頭,我們只需要把Java DB選擇為“此功能將不可用”即可
接著點“下一步”後,還會出現一個自訂安裝介面,這時直接預設安裝,接著點“下一步”
JDK目錄:bin:包括運行和編譯以及執行特定Java應用時所需要命令工具
db:放置Java中內建的資料庫程式,即剛才安裝時取消的Java DB
demo:放置Sun的一些例子
include:Java程式如果調用C/C++程式的一些標頭檔
jre:JDK中所包含的JER部分
lib:放置JDK用到的一些類庫
sample:放置另外的一些編寫好的例子程式
src.zip:JDK中所有的API原始碼。比如我們想看一下JDK中的String類,開啟src.zip,選擇java→lang→String.java
環境變數:安裝好JDK後,還需要在“我的電腦屬性”裡的“進階”下的“環境變數”中配置一下Path和CLASSPATH
否則命令提示字元中還會提示:'javac'不是內部或外部命令,也不是可運行程式或批次檔
JAVA_HOME:D:\Program Files\Java\jdk1.6.0_13
Path:外部命令搜尋路徑(值為:JDK路徑\bin或%JAVA_HOME%\bin,注意bin後加個分號)
CLASSPATH:類資源位置搜尋路徑(為了運行時能首先在當前路徑下搜尋,故習慣性先把當前路徑加進去,即“.;”)
驗證安裝:在命令提示字元中運行java -version後,如果輸出java version "1.6.0_13"則表示JDK安裝成功
命令提示字元:開始→程式→附件→命令提示字元。即DOS終端視窗,因為我們現在開發的都是在DOS終端視窗下啟動並執行程式
cd\:切換到C盤根目錄
cd c:\ex\01:切換到C盤中ex檔案夾下的01檔案夾中
dir:列出該檔案夾的目錄
dir FileName.*:列出該檔案夾目錄下所有以FileName為名的檔案(此時即忽略尾碼)
javac *.java:編譯所有Java源檔案
del *.bak:刪除該檔案夾下所有的尾碼為.bak檔案
md p1:建立目錄p1或者說是檔案夾p1
cls:清屏
exit:退出(quit不是退出口令)