【JavaSE入門系列】第01章_Java技術入門

來源:互聯網
上載者:User
第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不是退出口令)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.